从不同的方法写入文件

时间:2013-09-13 00:16:31

标签: java

我一直在用Java开发一个小项目。程序从不同的方法写入日志文件。但每次使用方法时,文件的内容都会被删除,所有写入的内容都是最后一个方法的结果。 这是该程序的代码片段:

// dir , log_file , exp_date and amount are declared in the code removed 
public static void WriteHeader() throws IOException
{
    FileWriter fileWriter = new FileWriter(dir+"/"+log_file);
    BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
    Console console = System.console();
    exp_date = console.readLine("Enter a string here: ");
    bufferedWriter.write(exp_date);
    bufferedWriter.close();
}
public static void WriteNewLine() throws IOException
{
    FileWriter fileWriter = new FileWriter(dir+"/"+log_file);
    BufferedWriter bufferedWriter2 = new BufferedWriter(fileWriter);
    Console console = System.console();
    amount = console.readLine("Enter another string here :");
    bufferedWriter2.newLine();
    bufferedWriter2.write(amount);
    bufferedWriter2.close();

}

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您需要以append模式打开文件,否则一旦关闭文件并重新打开文件,它就会删除以前的数据。 http://docs.oracle.com/javase/6/docs/api/java/io/FileWriter.html#FileWriter(java.lang.String,布尔值)

    FileWriter fileWriter = new FileWriter(dir+"/"+log_file, true);

答案 2 :(得分:0)

FileWriter fw = new FileWriter(file, true);

我非常确定FileWriter有一个重载的构造函数,用于附加到文件而不是覆盖文件

我还会先检查文件是否存在。

file.exists();