不要将文本写入我的 txt 文件
Don't write text into my txt file
我想用这段代码读取一个文本文件,将所有元素放入一个数组列表中,然后用数组列表包含的文件替换该文件。但是这段代码没有写入文件,我不知道为什么...
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
}
}
我认为有错字。在最后一个 for 循环中,当您的变量名称为 fw 时,您有 fwp.write(...) 。这可能是问题所在。
您需要在打开 FileWriter 之前关闭扫描仪,以避免文件冲突。
...
read.close();
FileWriter fw = new FileWriter(file,false);
for (String itemFile1 : itemFile) {
fw.write(itemFile1);
fw.write(System.lineSeparator()); //new line
}
fw.close();
我想用这段代码读取一个文本文件,将所有元素放入一个数组列表中,然后用数组列表包含的文件替换该文件。但是这段代码没有写入文件,我不知道为什么...
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
}
}
我认为有错字。在最后一个 for 循环中,当您的变量名称为 fw 时,您有 fwp.write(...) 。这可能是问题所在。
您需要在打开 FileWriter 之前关闭扫描仪,以避免文件冲突。
...
read.close();
FileWriter fw = new FileWriter(file,false);
for (String itemFile1 : itemFile) {
fw.write(itemFile1);
fw.write(System.lineSeparator()); //new line
}
fw.close();