import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;
public class FileReader {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("注意:所有的输入路径中,分隔符使用'/',请勿使用'\\'");
System.out.println("请输入要解析的txt文件路径");
String inPath=sc.nextLine();
File inFile=new File(inPath);
if(!inFile.exists()){
System.out.println("输入的文件不存在");
return;
}
System.out.println("请输入要输入的新txt文件路径");
String outPath=sc.nextLine();
System.out.println("请输入匹配的字符");
String pattern=sc.nextLine();
System.out.println("文件中匹配的行为:");
File outFile=new File(outPath);
try {
//读取原文件,进行匹配
BufferedReader inFileReader=new BufferedReader(new InputStreamReader(new FileInputStream(inFile)));
//输出新文件
BufferedWriter outFileWriter=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
String inLine=null;
int row=1;
while((inLine=inFileReader.readLine())!=null){
//出现匹配的情况,输入到控制台,并且写入新文件
if(inLine.contains(pattern)){
System.out.println("行号:"+row+",内容:"+inLine);
outFileWriter.write(inLine+"/r/n");
}
row++;
}
inFileReader.close();
outFileWriter.close();
System.out.println("新文件已经保存至:"+outPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
温馨提示:内容为网友见解,仅供参考