将字符串列表附加到Android外部存储中的文本文件末尾



我正在尝试将一个字符串数组写入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();
}
}

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

谢谢!

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

您可以使用append选项附加到现有文件而不覆盖它。

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

可选的true参数将文件编写器设置为附加模式。另请参阅此处的答案。

最新更新