Подтвердить что ты не робот

Как написать значения в файле свойств с помощью java-кода

У меня проблема.

У меня есть файл свойств. Я хочу сохранить некоторые значения в этом файле и будет реализовывать в коде всякий раз, когда это требуется. Есть ли способ сделать это?

Я использую класс Properties для этого.

4b9b3361

Ответ 1

Загрузите файл свойств, используя 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);

Ответ 2

Вы можете сделать это следующим образом:

  1. Сначала установите свойства в объекте Properties, используя object.setProperty(String obj1, String obj2).

  2. Затем запишите его в свой 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);
    }
}

Ответ 3

Это работа для меня.

    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);
                    }