6

*.properties ファイルに書き込みたい。これが私のコードです。

    properties = loadProperties("user.properties");//loads the properties file
    properties.setProperty(username, password);
        try {
                properties.store(new FileOutputStream("user.properties"), null);
                System.out.println("Wrote to propteries file!" + username + " " + password);

例外は発生しませんが、出力がファイルに書き込まれません。

これも私のファイル構造です:

ここに画像の説明を入力

あなたの答えに感謝します!!!

アップデート

プロパティファイルを次のようにロードします。

    InputStream in = ClassLoader.getSystemResourceAsStream(filename);

私の質問は、特定のパスからロードする方法ですか?

これが私の「新しい」ファイル構造です。

ここに画像の説明を入力

4

1 に答える 1

4

ここに私のテストコードがあります:

@Test
public void fileTest() throws FileNotFoundException, IOException {

    File file = null;

    Properties props = new Properties();

    props.setProperty("Hello", "World");

    URL url = Thread.currentThread().getContextClassLoader()
            .getResource("exceptions/user.properties");

    try {
        file = new File(url.toURI().getPath());

        assertTrue(file.exists());
    } catch (URISyntaxException e) {

        e.printStackTrace();
    }

    props.store(new FileOutputStream(file), "OMG, It werks!");

}

私のtarget/classes/exceptionsディレクトリ(maven/eclipseプロジェクト内)にファイルを作成して書き換えるので、実際に機能すると思いますが、もちろんJARファイルではテストされていません。

ファイルは次のとおりです。

#OMG, It werks!
#Sat Nov 10 08:32:44 CST 2012
Hello=World

また、この質問を確認してください: How can i save a file to class path

だから、あなたがやりたいことは決してうまくいかないかもしれません。

于 2012-11-10T14:11:31.740 に答える