Я кодирую программу, которая получает строки из входного текстового файла. Предполагается, что это будет набор строк в одной строке, разделенных символом новой строки. Итак, мой входной файл выглядит следующим образом:
0110\n011\n0111\n100001
Однако, когда я go распечатываю каждую строку, он получается как одна целая строка, включая символы новой строки - '0110 \ n011 \ n0111 \ n100001 '
Это мой код - он хорошо работает для сканера, когда это строка c, но не из файла.
File input = new File(input.txt);
Scanner scanner = new Scanner(input);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
Когда я изменяю сканер для чтения строк, например, сканер сканер = новые сканеры для строки s = "0110 \ n011 \ n0111 \ n100001", он работает правильно и выводит 4 строки, что означает, что он распознает символ \ n, как например:
String s = "0110\n011\n0111\n100001";
Scanner scanner = new Scanner(s);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
Единственное, что меня сдерживает, это то, что мы должны разделить строки входного файла на \ n . Это требование для нашего проекта.
Есть идеи, почему это происходит? Мой текстовый файл неправильный, есть ли способ разделить его на \ n? Сканер считывает строки в файлах иначе, чем просто строки c? Должен ли я просто переключиться на BufferedReader? Я не могу обернуть голову вокруг этого. Я прочитал несколько форумов и руководств и ничего не смог найти. Если я могу что-то сделать или предоставить что-нибудь еще, пожалуйста, дайте мне знать.