程序重启Android时文件被覆盖

时间:2011-05-11 22:48:16

标签: android save restart filewriter bufferedwriter

我正在尝试将一些数据写入文件。但是,每次我重新启动程序时,我认为它会覆盖原始文件(创建一个新文件?)这是一段代码片段,我实例化了一些东西。有什么我可以改变,以便文件不会被覆盖每次?类似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();
    }

1 个答案:

答案 0 :(得分:1)

您可能会覆盖该文件。您可以使用不同的构造函数将文件追加到FileWriter的末尾。

改为使用

FileWriter writer = new FileWriter(highscoresFile, true);

末尾的布尔值告诉你是否要附加到文件的末尾。