У меня проблема.
У меня есть файл свойств. Я хочу сохранить некоторые значения в этом файле и будет реализовывать в коде всякий раз, когда это требуется. Есть ли способ сделать это?
Я использую класс Properties
для этого.
У меня проблема.
У меня есть файл свойств. Я хочу сохранить некоторые значения в этом файле и будет реализовывать в коде всякий раз, когда это требуется. Есть ли способ сделать это?
Я использую класс Properties
для этого.
Загрузите файл свойств, используя java.util.Properties
.
Фрагмент кода -
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream("xyz.properties");
prop.load(in);
Он предоставляет Properties#setProperty(java.lang.String, java.lang.String)
который помогает добавить новое свойство.
Фрагмент кода -
prop.setProperty("newkey", "newvalue");
Этот новый набор вы можете сохранить с помощью Properties#store(java.io.OutputStream, java.lang.String)
Фрагмент кода -
prop.store(new FileOutputStream("xyz.properties"), null);
Вы можете сделать это следующим образом:
Сначала установите свойства в объекте Properties
, используя object.setProperty(String obj1, String obj2)
.
Затем запишите его в свой File
, передав FileOutputStream
в properties_object.store(FileOutputStream, String)
.
Вот пример кода:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.File;
class Main
{
static File file;
static void saveProperties(Properties p) throws IOException
{
FileOutputStream fr = new FileOutputStream(file);
p.store(fr, "Properties");
fr.close();
System.out.println("After saving properties: " + p);
}
static void loadProperties(Properties p)throws IOException
{
FileInputStream fi=new FileInputStream(file);
p.load(fi);
fi.close();
System.out.println("After Loading properties: " + p);
}
public static void main(String... args)throws IOException
{
file = new File("property.dat");
Properties table = new Properties();
table.setProperty("Shivam","Bane");
table.setProperty("CS","Maverick");
System.out.println("Properties has been set in HashTable: " + table);
// saving the properties in file
saveProperties(table);
// changing the property
table.setProperty("Shivam", "Swagger");
System.out.println("After the change in HashTable: " + table);
// saving the properties in file
saveProperties(table);
// loading the saved properties
loadProperties(table);
}
}
Это работа для меня.
Properties prop = new Properties();
try {
InputStream in = new FileInputStream("src/loop.properties");
prop.load(in);
} catch (IOException ex) {
System.out.println(ex);
}
//Setting the value to our properties file.
prop.setProperty("LOOP", "1");
//Getting the value from our properties file.
String value = prop.getProperty("LOOP").trim();
try {
prop.store(new FileOutputStream("src/loop.properties"), null);
} catch (IOException ex) {
System.out.println(ex);
}