0

プロパティ ファイルの 1 つのフィールドだけを Java で上書きする方法はありますか?

たとえば、私の app.properties が次のように見える場合

dbpassword=password
database=localhost
dbuser=user1

に変更したい

dbpassword=password
database=localhost
dbuser=user2

たった 1 つの setProperty コマンドで、つまり、他のフィールドを上書きすることなく、それを行うことはできますか? 私は次のことを試しました:

prop.setProperty("dbuser", "user2");

prop.store(new FileOutputStream("app.properties",true), null);

ただし、プロパティをファイルに追加するだけで、既存の duser フィールドを上書きしません。

4

2 に答える 2

1

試す

prop.store(new FileOutputStream("app.properties",false), null);

その代わり。基本的にFileOutputStream、結果を上書きするのではなく、既存のファイルに追加するように求めていました

于 2012-07-31T03:32:42.037 に答える
-1
The  example, PropertiesTest, creates a Properties object and initializes it from myProperties.txt .

subliminal.message = Buy StayPuft Marshmallows!
PropertiesTest then uses System.setProperties to install the new Properties objects as the current set of system properties.


import java.io.FileInputStream;
import java.util.Properties;

public class PropertiesTest {
    public static void main(String[] args)
        throws Exception {

        // set up new properties object
        // from file "myProperties.txt"

        Properties p =
            new Properties(System.getProperties());
        p.load(propFile);

        // set the system properties
        System.setProperties(p);
        // display new properties
        System.getProperties().list(System.out);
    }
}
Note how PropertiesTest creates the Properties object, p, which is used as the argument to setProperties:

Properties p = new Properties(System.getProperties());
于 2012-07-31T05:32:04.213 に答える