使用此代码,我想读取一个文本文件,将所有元素放入arraylist并用arraylist contains替换该文件。但是这段代码没有写入文件,我不知道为什么......
public void delete(String lineToDelete, String nameFile) throws IOException {
file = new File(nameFile);
fw = new FileWriter(file,false);
read = new Scanner(file);
while (read.hasNext()) {
itemFile.add(read.nextLine());
}
for (int i = 0; i < itemFile.size(); i++) {
if (itemFile.get(i).equals(lineToDelete)) {
itemFile.remove(i);
break;
}
}
for (String itemFile1 : itemFile) {
fw.write(itemFile1);
fw.write(System.lineSeparator()); //new line
}
}
答案 0 :(得分:2)
您需要在打开FileWriter之前关闭扫描仪,以避免文件冲突。
...
read.close();
FileWriter fw = new FileWriter(file,false);
for (String itemFile1 : itemFile) {
fw.write(itemFile1);
fw.write(System.lineSeparator()); //new line
}
fw.close();
答案 1 :(得分:0)
我相信这是一个错字。在最后一个for循环中,当变量的名称是fw时,你有fwp.write(...)。这可能是问题所在。