Java文件IO写

Por*_*os3 1 java io file

我似乎无法写入文件.我成功创建了文件和目录,并没有遇到任何异常,但是当我打开文件时,它没有写入任何行.

是否有可能我需要以某种方式保存对文件的更改?或者是否有其他方式我可能不会最终看到变化,即使它已经被认为是?

File stalkerFolder = new File("plugins/logs");
File logFile = new File("plugins/logs/log.txt");
FileWriter fw;
FileReader fr;
BufferedWriter writer;
BufferedReader reader;
boolean error = false;
try{
    if(!folder.exists()){
        folder.mkdir();
    }
    logFile.createNewFile();
}catch(Exception e){}
try{
    fw = new FileWriter("plugins/logs/log.txt");
    fr = new FileReader("plugins/logs/log.txt");
    writer = new BufferedWriter(fw);
    reader = new BufferedReader(fr);
} catch(Exception e){
    System.err.println("ERROR: CANNOT READ OR WRITE TO LOG FILE");
    System.err.println("Plugin terminated.");
    error = true;
}

System.out.println("writing to log");
//Record to log
        try{
            writer.write("test log message");
        }catch(Exception e){
            System.err.println("could not write to log");
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

我没有打印出任何错误,我成功地达到了"写入日志".

sbl*_*ndy 6

你需要关闭作家.将最后几行更改为此.

//Record to log
try{
    writer.write("test log message");
    writer.close();
}catch(Exception e){
    System.err.println("could not write to log");
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

我所做的就是添加writer.close().

  • @jzworkman`close()`自动刷新 (3认同)