代码之家  ›  专栏  ›  技术社区  ›  QWERTY

在android外部存储中将字符串列表追加到文本文件末尾

  •  1
  • QWERTY  · 技术社区  · 7 年前

    我正在尝试将字符串数组写入android模拟器的外部存储器。这是我的代码:

    private void writeToFile(String[] data) {
        File workingDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS + "/wordlist.txt");
        try (BufferedWriter bw = new BufferedWriter(new FileWriter(workingDir))) {
            for (String line : data) {
                bw.write(line + "\n");
            }
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    

    它成功地将字符串数组中的每个项写入文本文件。但是,下一次我再次执行此函数时,它会擦除文本文件中的所有现有字符串,然后替换它们。关于如何在文件末尾附加新字符串有什么想法吗?

    谢谢!

    2 回复  |  直到 7 年前
        1
  •  0
  •   QWERTY    7 年前

    我已经解决了。基本上,我需要从文本文件中读取所有现有文本,将它们添加到新列表中,然后将最新字符串附加到新列表中,然后继续写入文本文件。

        2
  •  0
  •   Tyler V    7 年前

    可以使用AppEnter选项附加到现有文件而不重写。

    BufferedWriter bw = new BufferedWriter(new FileWriter(workingDir, true))
    

    可选的 true 参数将文件编写器设置为 append mode .也可以看到答案 here 是的。