Как получить данные из файла property
Перейти к содержимому

Как получить данные из файла property

  • автор:

Получить значение из *.properties файла

Author24 — интернет-сервис помощи студентам

Здравствуйте, я хочу получить значения из пропертис файла. По заданию физическое чтение файла должно происходить один раз, как сделать так, чтобы при создании объектов, если в конструктор передается один и тот же файл, второй не читался и значения выводились только один раз. Вот код:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
import java.io.FileInputStream; import java.util.Properties; public class ValueReader { private Properties property; private String filename; public ValueReader(String filename) { property = new Properties(); this.filename = filename; readFile(filename); outputValue(); } private void readFile(String filename) { try(FileInputStream fis = new FileInputStream(filename)) { property.load(fis); } catch (Exception e) { e.printStackTrace(); } } private void outputValue() { for (String i : property.stringPropertyNames()) { System.out.println(property.getProperty(i)); } } }

Как считать данные из файла java

Для работы с файлами можно использовать методы из библиотеки java.nio.file. Библиотека предоставляет классы Path и Paths для работы с путями файлов, а также класс Files для манипулирования с файловой системой.

Сначала нужно сформировать путь к файлу с помощью класса Paths, например используя метод Paths.get(). Получившийся объект нужно использовать в методах класса Files.

Пример чтения файла:

import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; // Получаем путь к нужному файлу Path writeFilePath = Paths.get("/tmp/file.txt"); // Читаем файл String content = Files.readString(path); // Выводим содержимое System.out.println(content); 

Получение данных из application.properties

Пишу небольшое приложение по работе, и надо создать класс для использования его в RestController Но дело в том, что я никак не могу получить данные из файла application.properties. Пробовал разные способы, которые советовали в интернете, ничего не помогает Вот код класса, что я создал

package com.example.demo; import com.sas.cas.*; import com.sas.cas.actions.Castable; import com.sas.cas.actions.sessionProp.SetSessOptOptions; import com.sas.cas.actions.table.FetchOptions; import com.sas.cas.events.CASAuthenticatedUserEventListener; import com.sas.cas.events.CASSSLSocketEventListener; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.io.IOException; import java.net.Socket; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.List; @Component public class CASRepository < //Параметры клиента CAS //String host = "sasserver.demo.sas.com"; //int port = 5570; //String username = "sasdemo"; //String password = "Orion123"; // boolean disablessl = true; //String table = "demo"; //String vars = "air,date"; final CASClient client = new CASClient(); @Value("$") private String host; @Value("$") int port; @Value("$") String username; @Value("$") String password; @Value("$") String table; @Value("$") String vars; @Value("$") String caslib; @Value("$") boolean disablessl; public CASRepository() < System.out.print(host); //Создание клиента CAS client.setHost(host); client.setPort(port); client.setUserName(username); client.setPassword(password); // client.setSessionID(sessionID); //client.setNumberOfNodes(1); //Устанавливаем caslib для текущей сессии CAS try < SetSessOptOptions options = new SetSessOptOptions(); options.clear(); options.setCaslib(caslib); client.invoke(options); >catch (CASException e) < e.printStackTrace(); >catch (IOException e) < e.printStackTrace(); >//Создаем UserEventListener client.setAuthenticatedUserEventListener(new CASAuthenticatedUserEventListener() < @Override public void handleAuthenticatedUserEvent(CASAuthenticatedUserInfo userInfo) < System.out.println("client.getHost() = " + client.getHost()); System.out.println("client.getPort() = " + client.getPort()); System.out.println("userInfo.getUsername() = " + userInfo.getUsername()); >>); //Если отключаем проверку протокола SSL и у нас еще нет EventListener, то создаем его if (disablessl && (client.getSSLSocketEventListener() == null)) < client.setSSLSocketEventListener(new CASSSLSocketEventListener() < @Override public void handleSocketConnectionEvent(CASClientInterface client, Socket socket) < >@Override public void handleSocketClosedEvent(CASClientInterface client, Socket socket) < >@Override public SSLSocketFactory handleSSLSocketCreationEvent(CASClientInterface client, Socket socket) throws IOException < SSLSocketFactory sf = null; // Trust all! TrustManager[] trustAllCerts = new TrustManager[]< new X509TrustManager() < public java.security.cert.X509Certificate[] getAcceptedIssuers() < return new X509Certificate[0]; >public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) < >public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) < >> >; // Install the all-trusting trust manager try < SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); sf = sc.getSocketFactory(); >catch (Exception ex) < throw new IOException(ex); >return sf; > >); > > //Get the whole table public List gettable() throws IOException, CASException < //создаем настройки выборки FetchOptions opt = new FetchOptions(); Castable tble = new Castable(); tble.setName(table); String[] vrs = getStringArrayProperty(vars); if (vrs != null) < tble.setParameter(Castable.KEY_VARS, vrs); >opt.setTable(tble); opt.setSasTypes(false); //выбираем данные CASActionResults results = client.invoke(opt); return dumpByRow((CASTable) results.getResult(0).getValue()); > private String[] getStringArrayProperty(String vrs) < String[] sa = null; String s = vrs; if (s != null) < sa = s.split(","); >return sa; > private List dumpByRow(CASTable t) throws IOException < int n = Math.min(100, t.getRowCount()); Listlist = new ArrayList<>(); row buffer = new row(); for(int row = 0; row return list; > //Change row in the table > 

Как получить данные из файла property java

Для получения данных из файла property можно воспользоваться возможностями класса Properties .

Пусть у нас имеется файл application.properties :

Получим эти данные в программе :
import java.io.*; import java.util.Properties; public class App  public static void main(String[] args) throws IOException  Properties prop = new Properties(); prop.load(new FileInputStream("application.properties")); String value = prop.getProperty("server.port"); System.out.println(value); // => $ value = prop.getProperty("rollbar_token"); System.out.println(value); // => 3749c863ebc141 value = prop.getProperty("spring.profiles.active"); System.out.println(value); // => prod > > 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *