Так что я пытаюсь выполнить сканирование txt-файла для String
, если найдено String
, нужен новый txt-файл который будет создан, и напишите в нем String
. String
, имя txt-файла, подлежащего поиску, и txt-файл, который будет/может быть создан, будут все введены через командную строку.Сканировать текстовый файл для строки, если она найдена, создать новый txt-файл с этой строкой
public class FileOperations {
public static void main(String[] args) throws FileNotFoundException {
String searchTerm = args[0];
String fileName1 = args[1];
String fileName2 = args[2];
File file = new File(fileName1);
Scanner scan = new Scanner(file);
while (scan.hasNextLine()) {
if (searchTerm != null) {
try {
BufferedWriter bw = null;
bw = Files.newBufferedWriter(Paths.get(fileName2), StandardOpenOption.CREATE, StandardOpenOption.APPEND);
bw.write(searchTerm);
bw.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
scan.nextLine();
}
scan.close();
}
}
То, что я пытался сделать, это создать While-цикл, который сканирует исходный текстовый файл в строку, и если строка найдена создать текстовый файл и ввести эту строку в него ,
В настоящее время происходит сканирование исходного файла (я тестировал его с помощью System.out.println), но новый файл со строкой создается независимо от того, находится ли файл String
в исходном txt-файле или нет ,
Я действительно был 'Струнный отсканированные = scan.nextLine(); 'там в какой-то момент, я должен удалить его, при редактировании и не понял его. Большое вам спасибо за это, что сработало и имеет гораздо больше смысла! –