我想根据csv文件的特定值(一个id)编辑该文件的某些值(一行值)。我可以读写(附加)其中的值,但不知道如何编辑和删除它们。
以下是我正在做的读取文件和附加值的一小段代码:
FileWriter writer = new FileWriter("file.csv", true);
try {
FileInputStream fstream = new FileInputStream("file.csv");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
while ((strLine = br.readLine()) != null) {
String[] fields = strLine.split(",");
if (fields[1].equals("value") {
fields[1] = "different value";
}
writer.append(fields);
}
catch(...)
}
但我不知道如何将值写回文件中的同一位置。
不幸的是,您无法同时打开一个文件进行读取和写入。您需要先读取文件并关闭它,然后再打开它进行写入。
潜在的解决方案有:
-
将输出写入另一个文件,然后在完成时替换原始文件
-
将所有输出保存在内部变量中,然后,一旦完成读取,关闭文件并重新打开进行写入。