eclipse 中用java编写代码 怎么把文件里的信息全部删除(清空)??

还有就是除了ArrayList 外,还可以怎么对文件里的部分(一条)内容删除?希望各位大神帮帮忙!!

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"));

追问

谢谢 我已经找到方法了

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答