将列表列表写入Java文本文件
我有一个列表要写在文本文件中:将列表列表写入Java文本文件,java,arraylist,Java,Arraylist,我有一个列表要写在文本文件中: ArrayList<ArrayList<String>> list = new ArrayList<>(); 写入文本文件: Path sPath = Paths.get("output.txt"); for (ArrayList sampleArr: list){ Files.write(sPath,sampleArr); } 错误: 代码可以工作,但错误是文件output.txt的内容得到更新 output.
ArrayList<ArrayList<String>> list = new ArrayList<>();
写入文本文件:
Path sPath = Paths.get("output.txt");
for (ArrayList sampleArr: list){
Files.write(sPath,sampleArr);
}
错误:
代码可以工作,但错误是文件output.txt
的内容得到更新
output.txt的预期内容:
sample_string_one
sample_string_two
sample_string_three
sample_string_four
sample_string_five
sample_string_six
原始内容:
sample_string_four
sample_string_five
sample_string_six
本质上,文件的内容会使用列表列表中最新的内部列表进行更新。任何解决这一问题的建议都非常好。试试以下方法:
Files.write(路径、列表、StandardOpenOption.APPEND);
从文件中:
如果不存在任何选项,则此方法的工作原理与存在CREATE
、TRUNCATE\u EXISTING
和WRITE
选项一样
公共静态最终标准openoption截断现有的
如果该文件已存在,并且已打开以进行写入
访问,则其长度将被截断为0。如果仅为READ
访问打开文件,则忽略此选项
你想要的是:
公共静态最终标准openoption APPEND
如果打开文件进行写入
访问,则字节将写入文件的末尾而不是开头。
如果其他程序打开该文件进行写访问,则如果向文件末尾写入是原子的,则该文件是特定于文件系统的
试试这个:
Files.write(路径、列表、StandardOpenOption.APPEND);
从文件中:
如果不存在任何选项,则此方法的工作原理与存在CREATE
、TRUNCATE\u EXISTING
和WRITE
选项一样
公共静态最终标准openoption截断现有的
如果该文件已存在,并且已打开以进行写入
访问,则其长度将被截断为0。如果仅为READ
访问打开文件,则忽略此选项
你想要的是:
公共静态最终标准openoption APPEND
如果打开文件进行写入
访问,则字节将写入文件的末尾而不是开头。
如果其他程序打开该文件进行写访问,则如果向文件末尾写入是原子的,则该文件是特定于文件系统的
sample_string_four
sample_string_five
sample_string_six