Java 扫描文本文件中的字符串,如果找到,则使用该字符串创建新的txt文件

Java 扫描文本文件中的字符串,如果找到,则使用该字符串创建新的txt文件,java,bufferedwriter,Java,Bufferedwriter,因此,我试图做的是扫描一个txt文件中的字符串,如果找到该字符串,则需要创建一个新的txt文件,并将字符串写入其中。字符串、要搜索的txt文件的名称以及将/可以创建的txt文件都将通过命令行输入 公共类文件操作{ 公共静态void main(字符串[]args)引发FileNotFoundException{ 字符串searchTerm=args[0]; 字符串fileName1=args[1]; 字符串fileName2=args[2]; 文件文件=新文件(文件名1); 扫描仪扫描=新扫描仪

因此,我试图做的是扫描一个txt文件中的
字符串
,如果找到该
字符串
,则需要创建一个新的txt文件,并将
字符串
写入其中。
字符串
、要搜索的txt文件的名称以及将/可以创建的txt文件都将通过命令行输入

公共类文件操作{
公共静态void main(字符串[]args)引发FileNotFoundException{
字符串searchTerm=args[0];
字符串fileName1=args[1];
字符串fileName2=args[2];
文件文件=新文件(文件名1);
扫描仪扫描=新扫描仪(文件);
while(scan.hasNextLine()){
if(searchTerm!=null){
试一试{
BufferedWriter bw=null;
bw=Files.newBufferedWriter(path.get(fileName2)、StandardOpenOption.CREATE、StandardOpenOption.APPEND);
写(搜索术语);
bw.close();
}捕获(ioe异常ioe){
ioe.printStackTrace();
}
}
scan.nextLine();
}
scan.close();
}

}
基本上,您刚刚用错了扫描仪。您需要这样做:

String searchTerm=args[0];
字符串fileName1=args[1];
字符串fileName2=args[2];
文件文件=新文件(文件名1);
扫描仪扫描=新扫描仪(文件);
如果(searchTerm!=null){//如果searchTerm为null,甚至不要启动
while(scan.hasNextLine()){
String scanned=scan.nextLine();//您需要像这样使用scan.nextLine()
if(scanned.contains(searchTerm)){//检查扫描的行是否包含所需的字符串
试一试{
BufferedWriter bw=Files.newBufferedWriter(path.get(fileName2));
写(搜索术语);
bw.close();
break;//在已找到字符串时停止循环
}捕获(ioe异常ioe){
ioe.printStackTrace();
}
}
}
}
scan.close();

基本上,您刚刚用错了扫描仪。您需要这样做:

String searchTerm=args[0];
字符串fileName1=args[1];
字符串fileName2=args[2];
文件文件=新文件(文件名1);
扫描仪扫描=新扫描仪(文件);
如果(searchTerm!=null){//如果searchTerm为null,甚至不要启动
while(scan.hasNextLine()){
String scanned=scan.nextLine();//您需要像这样使用scan.nextLine()
if(scanned.contains(searchTerm)){//检查扫描的行是否包含所需的字符串
试一试{
BufferedWriter bw=Files.newBufferedWriter(path.get(fileName2));
写(搜索术语);
bw.close();
break;//在已找到字符串时停止循环
}捕获(ioe异常ioe){
ioe.printStackTrace();
}
}
}
}
scan.close();

我实际扫描了
String=scan.nextLine()String=scan.nextLine()