0
這裏是我的代碼,用於從文件中刪除字符串。 該代碼從生成的臨時文件中刪除字符串 - 但不要將原始文件替換爲編輯的臨時文件。從文本文件中刪除字符串
原始文件保持原樣。編輯發生在臨時文件,它不重命名爲原始文件
try{
File inFile = new File("ext.txt");
if (!inFile.isFile()) {
System.out.println("Parameter is not an existing file");
return;
}
File tempFile = new File(inFile.getAbsolutePath()+".txt");
BufferedReader br = new BufferedReader(new FileReader(inFile));
PrintWriter pw = new PrintWriter(new FileWriter(tempFile));
String line = null;
while ((line = br.readLine()) != null) {
if (!line.trim().equals(mystring)) {
pw.println(line);
pw.flush();
}
}
pw.close();
br.close();
inFile.delete();
tempFile.renameTo(inFile);
if (!inFile.delete()) {
System.out.println("Could not delete file");
return;
}
if (!tempFile.renameTo(inFile))
System.out.println("Could not rename file");
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
而你的問題是? – home
plz閱讀最後一行。該代碼不會用編輯過的文件替換原始文件。 – user3078848
原始文件保持原樣。編輯發生在臨時文件中,並且它不會重命名爲原始文件 – user3078848