所以我要做的是扫描txt文件中的String
,如果找到String
,则需要创建一个新的txt文件,{{1}写进去。 {/ 1}},即将要搜索的txt文件的名称和将要/可以创建的txt文件都将通过命令行输入。
String
我尝试做的是创建一个while循环,扫描原始文本文件中的字符串,如果找到该字符串,则创建一个txt文件并在其中输入该字符串。
目前正在进行的是扫描原始文件(我使用System.out.println进行了测试),但无论String
是否在原始文本中,都会创建带有字符串的新文件 - 文件与否。
答案 0 :(得分:0)
基本上,您刚刚以错误的方式使用过扫描仪。你需要这样做:
String searchTerm = args[0];
String fileName1 = args[1];
String fileName2 = args[2];
File file = new File(fileName1);
Scanner scan = new Scanner(file);
if (searchTerm != null) { // don't even start if searchTerm is null
while (scan.hasNextLine()) {
String scanned = scan.nextLine(); // you need to use scan.nextLine() like this
if (scanned.contains(searchTerm)) { // check if scanned line contains the string you need
try {
BufferedWriter bw = Files.newBufferedWriter(Paths.get(fileName2));
bw.write(searchTerm);
bw.close();
break; // to stop looping when have already found the string
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
}
scan.close();