File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String lineToRemove = "bbb";
String currentLine;
while((currentLine = reader.readLine()) != null) {
// trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue; // 在这里筛选要删除的条件
writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close();
reader.close();
boolean successful = tempFile.renameTo(inputFile);
追问我想请问一下,这里tempFile时起什么作用的? 因为 writer.write(currentLine + System.getProperty("line.separator"));这句没看懂
还有就是,我运行了一下 结果是把我输入的信息复制到myTempFile里了
追答同一个文件是不能同时进行读写操作的,
所以必须读与写分开操作,
先读取myfile.txt, 然後一筛选条件跳过删除行,
再将结果写入mytempfile.txt
追问可是 我运行了一下 结果是把我打出来那行又复制给了mytempfile.txt 而且不能就在这个文档里删除吗
追答if(trimmedLine.equals(lineToRemove)) continue; // 在这里筛选要删除的条件
else
writer.write(currentLine + System.getProperty("line.separator"));
追问谢谢 我已经找到方法了