我有一個文本文件,我用它來存儲項目的信息。如何刪除文件末尾的空行?
10325,Test1,Producto del Hogar,12,17
10425,Test2,Videojuegos,11,17
12345,Test3,Producto del Hogar,56,17.0
我使用opencsv庫修改所需的項目中的一列,我使用這個代碼:
public void updateCSV(String replace, int fila, int col) throws IOException {
if (replace != null) {
File archivoProductos = new File("productos.txt");
// Read existing file
CSVReader reader = new CSVReader(new FileReader(archivoProductos), ',', CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.NO_ESCAPE_CHARACTER);
List<String[]> csvBody = reader.readAll();
// get CSV row column and replace with by using row and column
csvBody.get(fila)[col] = replace;
reader.close();
// Write to CSV file which is open
CSVWriter writer = new CSVWriter(new FileWriter(archivoProductos), ',', CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.NO_ESCAPE_CHARACTER, System.getProperty("line.separator"));
writer.writeAll(csvBody);
writer.flush();
writer.close();
}
}
的問題是,當修改完成後,有一個加空行在文本文件的末尾。
line1 10325,Test99,Producto del Hogar,12,17
line3 10425,Test2,Videojuegos,11,17
line2 12345,Test3,Producto del Hogar,56,17.0
line4
如何避免在最後添加空行? csvBody的
新增的println之前把它寫到
[10325, Test99, Producto del Hogar, 12, 17]
[10425, Test2, Videojuegos, 11, 17]
[12345, Test3, Producto del Hogar, 56, 17.0]
到目前爲止已經試過:
不加空行,但現在我的3個存在行都寫在短短的一線。
CSVWriter writer = new CSVWriter(new FileWriter(archivoProductos), ',',
CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.NO_ESCAPE_CHARACTER,"");
csvBody在寫出來之前看起來像什麼?你可以使用打印語句來查看。 –
你可以試試這個嗎? CSVWriter writer = new CSVWriter(new FileWriter(archivoProductos),',',CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER); – developer
我更新了帖子,你可以看到csvBody中沒有空行,如果我刪除了空行並且想要修改另一行,空行就會回來。 @melgart –