I am reading a file via the BufferedReader
String filename = ...
br = new BufferedReader( new FileInputStream(filename));
while (true) {
String s = br.readLine();
if (s == null) break;
...
}
I need to know if the lines are separated by ‘\n’ or ‘\r\n’
is there way I can find out ?
I don’t want to open the FileInputStream so to scan it initially.
Ideally I would like to ask the BufferedReader since it must know.
I am happy to override the BufferedReader to hack it but I really don’t want to open the filestream twice.
Thanks,
Note: the current line separator (returned by System.getProperty(“line.separator”) ) can not be used as the file could have been written by another app on another operating system.
After reading the java docs (I confess to being a pythonista), it seems that there isn’t a clean way to determine the line-end encoding used in a specific file.
The best thing I can recommended is that you use
BufferedReader.read()and iterate over every character in the file. Something like this: