我修改了我原来的 csv。现在我想要修改后的 csv 文件,无论它是生成新的 csv 文件还是更新它……这怎么可能?我提取了 csv 的单列值并递增 1。现在我想要带有修改数据的 csv 文件。我怎样才能写文件。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.FileWriter;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
String filename ="bank-full.csv";
File file= new File(filename);
try {
Scanner inputStream = new Scanner(file);
inputStream.next();
while(inputStream.hasNext())
{
String data= inputStream.next();
String[] values = data.split(";");
double balance= Double.parseDouble(values[11]);
balance=balance+1;
values[11] = String.valueOf(balance);
// iterate through the values and build a string out of them
StringBuilder sb = new StringBuilder();
for (int i = 0; i < values.length; i++) {
sb.append(values[i]);
if (i < values.length - 1) {
sb.append(";");
}
}
// get the new string
String newData = sb.toString();
BufferedWriter writer = null;
try
{
writer = new BufferedWriter( new FileWriter( "bank-full.csv"));
writer.write( newData);
}
catch ( IOException e)
{
}
finally
{
try
{
if ( writer != null)
writer.close( );
}
catch ( IOException e)
{
}
}
System.out.println(newData);
}
inputStream.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}