如何找出哪个行分隔符BufferedReader#readLine()用于拆分行?
|
我正在通过BufferedReader读取文件
String filename = ...
br = new BufferedReader( new FileInputStream(filename));
while (true) {
String s = br.readLine();
if (s == null) break;
...
}
我需要知道行之间是否用\'\\ n \'或\'\\ r \\ n \'分隔
有什么办法可以找出吗?
我不想打开FileInputStream,因此先对其进行扫描。
理想情况下,我想问BufferedReader,因为它必须知道。
我很高兴重写BufferedReader对其进行破解,但我真的不想两次打开文件流。
谢谢,
注意:当前的行分隔符(由System.getProperty(\“ line.separator \”)返回)不能使用,因为该文件可能已由另一个应用程序在另一个操作系统上写入。
没有找到相关结果
已邀请:
8 个回复
墩瓣茅械
bab
蓄荣糖些
不接受
不,您无法找出BufferedReader读取的文件中使用的行终止符。该信息在读取文件时丢失。 不幸的是,以下所有答案都不正确。 编辑:是的,您始终可以扩展BufferedReader以包括所需的其他功能。
淑灯
不提供确定换行符的任何方法。如果您需要知道,则需要阅读自己的字符并找到换行符。 您可能对Guava的内部LineBuffer类(以及用于其中的公共LineReader类)感兴趣。
提供回调方法
,其中
是换行符。您可能可以基于此做您想做的事。 API可能类似于“ 10”,其中“ 11”是一个包含行文本和行尾的对象。
拭十年
死搭胯
获取文件中使用的实际EOL字符串。
臀夯脖锑
臀博