【发布时间】:2017-03-23 03:14:30
【问题描述】:
我有一个包含一些字符串的文件。 例如:
迈克1111
克里斯2222
布赖恩3333
我正在尝试编写代码以从该文件中删除一行。但是,例如,当我删除 Chris 时,它变为:
迈克1111
布赖恩3333
(空行)
空行是个问题,因为当我添加另一个字符串时,它会出现在空行之后而不是它的位置。先感谢您。这是我的代码:
public void deleteUser(String u, String p) throws IOException {
username = u;
pin = p;
File userAccountFolder = new File("userLogin.txt");
File temporaryFile = new File("temporaryFile.txt");
BufferedReader buffReader = new BufferedReader(new FileReader(userAccountFolder));
BufferedWriter buffWriter = new BufferedWriter(new FileWriter(temporaryFile));
String lineToRemoveFromFile = username + pin;
String lineFromUserFile;
while ((lineFromUserFile = buffReader.readLine()) != null) {
String trimmedLine = lineFromUserFile.trim();
if (trimmedLine.equals(lineToRemoveFromFile)) {
continue;
}
buffWriter.append(lineFromUserFile + System.getProperty("line.separator"));
}
buffWriter.close();
buffReader.close();
boolean removed = temporaryFile.renameTo(userAccountFolder);
if (removed == true) {
System.out.println(username + "'s account has been removed.");
}
}
【问题讨论】:
-
另外,当我说删除时,我的意思是它不包含在写入的新文件中——正如您在代码中看到的那样。
-
请更改您的标题
标签: java file bufferedreader