eclipse 中用java编写代码 怎么把文件里的信息全部删除(清空)??
还有就是除了ArrayList外,还可以怎么对文件里的部分(一条)内容删除?希望各位大神帮帮忙!!...
还有就是除了ArrayList 外,还可以怎么对文件里的部分(一条)内容删除?希望各位大神帮帮忙!!
展开
1个回答
展开全部
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);
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询