java从文本文件中删除行代码,java文本文件,下面示例代码演示如何从文
分享于 点击 37863 次 点评:118
java从文本文件中删除行代码,java文本文件,下面示例代码演示如何从文
下面示例代码演示如何从文本文件中删除一行文本。
removeLineFromFile方法有两个参数,第一个参数是文本文件名,第二个参数是要移除的文本内容
我们需要创建一个临时文件,然后逐行读取源文件的内容,如果折行的内容不是指定要移除的文件就写入到临时文件中。
最后我们需要将源文件删除掉,然后将临时文件重命名为源文件的文件名。
假定我们要操作的文件是test.txt,其内容如下,要移除bbbbb行:
aaaaabbbbbccccc
代码如下:
import java.io.BufferedReader;import java.io.FileReader;import java.io.File;import java.io.FileWriter;import java.io.FileNotFoundException;import java.io.IOException;import java.io.PrintWriter;public class FileUtil { public void removeLineFromFile(String file, String lineToRemove) { try { File inFile = new File(file); if (!inFile.isFile()) { System.out.println("Parameter is not an existing file"); return; } //Construct the new file that will later be renamed to the original filename. File tempFile = new File(inFile.getAbsolutePath() + ".tmp"); BufferedReader br = new BufferedReader(new FileReader(file)); PrintWriter pw = new PrintWriter(new FileWriter(tempFile)); String line = null; //Read from the original file and write to the new //unless content matches data to be removed. while ((line = br.readLine()) != null) { if (!line.trim().equals(lineToRemove)) { pw.println(line); pw.flush(); } } pw.close(); br.close(); //Delete the original file if (!inFile.delete()) { System.out.println("Could not delete file"); return; } //Rename the new file to the filename the original file had. if (!tempFile.renameTo(inFile)) System.out.println("Could not rename file"); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } public static void main(String[] args) { FileUtil util = new FileUtil(); util.removeLineFromFile("test.txt", "bbbbb"); }}
现在test.txt文件的内容如下所示:
aaaaaccccc
用户点评