私はアイテムの情報を保存するために使用するテキストファイルを持っています。変更が行われたときにファイルの最後に空行を削除するには?
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();
}
}
問題は、そこに追加されていることを1:
10325,Test1,Producto del Hogar,12,17
10425,Test2,Videojuegos,11,17
12345,Test3,Producto del Hogar,56,17.0
私は希望のアイテムの1列を変更するライブラリをopencsv使用しています、私はこのコードを使用していますテキストファイルの最後の空白行。
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本の既存のラインは今ちょうど1で書かれていますライン。
CSVWriter writer = new CSVWriter(new FileWriter(archivoProductos), ',',
CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.NO_ESCAPE_CHARACTER,"");
csvBodyはあなたがそれを書き出す前にどのように見えるのですか?あなたはprintステートメントを使って見ることができます。 –
これで試すことができますか? CSVWriterライター=新しいCSVWriter(新しいFileWriter(archivoProductos)、 '、'、CSVWriter.NO_QUOTE_CHARACTER、 CSVWriter.NO_ESCAPE_CHARACTER); – developer
私は空白の行を削除し、別の行を変更したい場合は、空の行が戻ってくるcsvBodyに空の行がないことがわかるように、投稿を更新しました。 @melgart –