Java 通过opencsv在文件末尾写入
我正在使用并希望通过多个会话写入Java 通过opencsv在文件末尾写入,java,csv,opencsv,Java,Csv,Opencsv,我正在使用并希望通过多个会话写入.csv文件。 然而,每次我启动一个新的文件,旧文件就会被删除。 我可以将的行为更改为在文件末尾写入而不是替换文件吗?似乎不可能在opencsv中附加到文件(从初始外观来看,它看起来相当简单),但如果您不限于opencsv,可以尝试。要在中附加到文件,您基本上需要创建一个副本,然后将其删除,并覆盖原始文件。这在OpenCSV中可能类似 编辑:您唯一的选择似乎是试用JExcel,或者将整个文件读入一个列表,附加到列表中,然后写出来。如果内存太大,请保持流打开,读入块
.csv
文件。
然而,每次我启动一个新的文件,旧文件就会被删除。
我可以将的行为更改为在文件末尾写入而不是替换文件吗?似乎不可能在opencsv中附加到文件(从初始外观来看,它看起来相当简单),但如果您不限于opencsv,可以尝试。要在中附加到文件,您基本上需要创建一个副本,然后将其删除,并覆盖原始文件。这在OpenCSV中可能类似 编辑:您唯一的选择似乎是试用JExcel,或者将整个文件读入一个列表,附加到列表中,然后写出来。如果内存太大,请保持流打开,读入块,写出块,然后写出附加的块 应该可以:
FileWriter w = new FileWriter("yourfile.csv")
CSVWriter writer = new CSVWriter(w, '\t');
...
writer.flush();
CSVWriter writer2 = new CSVWriter(w, '\t');
...
writer2.flush();
w.close();
(免责声明:我写的)也支持这一点。中有一个选项,而不是在文件末尾附加
此代码使其工作:
mFileWriter = new FileWriter(file_path, true);
mCsvWriter = new CSVWriter(mFileWriter);
这在OpenCSV中是可能的,请查看下面的示例,将resultset附加到现有的csv文件中
CSVWriter writer = new CSVWriter(new FileWriter(fileName.concat(".csv"), true), ',');
writell.writell(结果集,true)
FileWriter构造函数的第二个参数是bool,用于在追加模式下打开文件
FileWriter(String fileName, boolean append)