Как обнаружить переход на новую строку при чтении txt файла в java?
Дано:
Есть файл - "1.txt".
Есть также код, который читает файл по строкам, по очереди.
Нужно:
Допустим, я считываю файл, и мне нужно учесть на конце строки переход на новую строку, чтобы при разбиении:
MyLine.split("Символ перехода на новую троку")или проверке:
if(MyLine.equals("Символ перехода на новую строку")) на экране
выводилось бы:"Символ перехода на новую строку" ,например, так:
System.out.println("$")
Мне важен факт самого детектирования символа разрыва строки. Это можно было бы сделать через подсчёт итераций в цикле i++, но мне это не нужно. Спасибо.
Вопрос: Как детекировать (обнаружить) на конце строки сам символ разрыва строки(переход на новую строку).
package j;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class J {
public static void Cool_Read(String FileName){
//file must be on home folder of project
// and file name must be for e.g. 1.txt
try {Scanner scanner = new Scanner(new File(FileName));
while(scanner.hasNextLine()) {
String MyLine = scanner.nextLine();
System.out.println(MyLine);}}
catch (IOException ex) { ex.printStackTrace();}}
public static void main(String[] args) {
Cool_Read("1.txt");
}
}
Ответы (1 шт):
Не могу понять, в чем проблема... Читаем файл, проверяем каждую строку не пустая ли она, получаем вилку для пустой и не пустой строки, дописываем нужную логику для каждого варианта:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
coolRead("1.txt");
}
public static void coolRead(String fileName) throws FileNotFoundException {
try(Scanner scanner = new Scanner(new File(fileName), "UTF-8")){
while (scanner.hasNext()) {
String line = scanner.nextLine();
if (line.isEmpty()) {
System.out.println("Empty line");
} else {
System.out.println(line);
}
}
}
}
}