我正在尝试将一些数据写入文件。但是,每次我重新启动程序时,我认为它会覆盖原始文件(创建一个新文件?)这是一段代码片段,我实例化了一些东西。有什么我可以改变,以便文件不会被覆盖每次?类似if file.doesExist ??
try {
File root = Environment.getExternalStorageDirectory();
if(root.canWrite()){
File highscoresFile = new File(root, "names.txt");
FileWriter writer = new FileWriter(highscoresFile);
BufferedWriter out = new BufferedWriter(writer);
//out.newLine();
out.append(name);
out.close();
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
您可能会覆盖该文件。您可以使用不同的构造函数将文件追加到FileWriter的末尾。
改为使用
FileWriter writer = new FileWriter(highscoresFile, true);
末尾的布尔值告诉你是否要附加到文件的末尾。