0

ユーザーを配列リストに追加するときに、このコードをファイルに書き込む必要があります。コードは正常に動作します:

public void writeToFile(String content)
    {
        try {
            File file = new File("H:/JavaWorkspace/TradingPlatformProject/User_Report.txt");

            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(content + "\n" );

            bw.close();
            logger.info("Recorded to User Activity file");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

ユーザーが別のことをした場合 (たとえば、アクセス許可のアップグレードを要求した場合) に、別のファイルに書き込みたいと考えています。このコードを複製せずに新しいファイル「UserRequests.txt」に書き込む方法はありますか?

4

3 に答える 3

1

次のように、おそらく 2 番目の引数を使用する必要があります。さらに、最終ブロックでライターを閉じる必要があります。そうすれば、書き込み中に例外が発生した場合でも、ライターが確実に閉じられます。

public void writeToFile(String content, String path)
{
    FileWriter fw
    BufferedWriter bw 
    try {
        File file = new File(path);

        if (!file.exists()) {
            file.createNewFile();
        }
        fw = new FileWriter(file.getAbsoluteFile(), true);
        bw = new BufferedWriter(fw);
        bw.write(content + "\n" );

        bw.close();
        logger.info("Recorded to User Activity file");
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        bw.close();
        fw.close();
    }
}
于 2013-06-14T15:13:05.360 に答える
0

書き込み先のファイルを渡すだけです。

public void writeToFile(String content, String filename){

その後:

File file = new File("H:/JavaWorkspace/TradingPlatformProject/"+filename);
于 2013-06-14T15:05:54.970 に答える