基本思路:用一个临时文件,将源文件的内容读取,并写入到临时文件,再将源文件删除,临时文件改为源文件
public void changeMean(String oldWord,String renewEnglishMean,String renewChineseMean) throws IOException{
//源文件对象
File originalFile = new File("WordList.txt");
Scanner scanner = new Scanner(originalFile);
//创立临时文件对象
File tempFile = new File("a.txt");
PrintWriter printWriter = new PrintWriter(tempFile);
//flag表示是否找到目标单词
boolean flag = false;
while(scanner.hasNext()){
String word = scanner.next();
String s2 = scanner.next();
if(word.equals(oldWord)){
printWriter.println(renewEnglishMean + " " + renewChineseMean);
flag = true;
}
else{
printWriter.println(word + " " + s2 );
}
}
if(flag == false) System.out.println("没有该单词,修改失败");
scanner.close();
printWriter.close();
//删除源文件
if(!originalFile.delete()){
System.out.println("Could not delete file");
}
//临时文件改名
if(!tempFile.renameTo(originalFile)){
System.out.println("Could not rename file");
}
}