我的代码的目标是将我的.CSV文件中的某个文本值替换为用户输入的文本字段。对象[]无法转换为字符串[]
我的.CSV文件的值由逗号分隔:hey,hi
。如果我只是想替换'嘿',那么我会从文本字段中收集输入,并用'再见'代替'hey'。输出:bye,hi
。
在我的代码中,我相信我正在阅读我的文件,并将文件的内容写入列表中,并用逗号分隔。
然后,我将遍历列表,并将列表中用户输入的实例替换为另一个用户输入并将其写回文件。
但是,我无法将它写回文件,因为我得到Object []无法转换为String []错误。因此,我坚持如何替换文本文件中的用户输入实例。
这里是我的代码:
try{
//Convert user input into strings
String strSerial = editSerialField.getText();
String strLocation = editLocationField.getText();
//Read existing file
CSVReader reader = new CSVReader(new FileReader("test test.txt"), ',');
List myEntries = reader.readAll();
//Iterate through my array
for (int i = 0; i < myEntries.size(); i++)
{
//If an entry matches the user input
if (myEntries.get(i).equals(strSerial))
{
//Set the match to the user input from strLocation
myEntries.set(i, strLocation);
break;
}
}
//Write to existing file
CSVWriter writer = new CSVWriter(new FileWriter("test test.txt"), ',');
//Error is here**********************
//Write the new string with the replaced word OVER the same file
writer.writeNext(myEntries.toArray(new String[myEntries.size()]));
writer.close();
}catch (IOException e)
{
System.out.println(e);
}
}
如何修改我的代码,以便它写我的变化,将.csv文件?
使用泛型来修改myEntries变量,如下所示。 列表 myEntries = reader.readAll(); –
dammina