我正在使用
Java SE 6.
我的程序读取几种文件,从dos到unix,从ascii到unicode,我必须确保输出文件的行分隔符与输入文件匹配.
我这样做的方法是使用BufferedReader read()函数读取一个示例行,以搜索第一行分隔符并将该行分隔符保存到String.这样,只要我需要一个新行,它就可以在以后使用.
我已经检查过Scanner类,并注意到可能的行分隔符可能包括以下内容:
\r\n
\r
\n
\u2028
\u2029
\u0085
是否有库函数来检查这些字符?或者甚至更好,是否已经有一个库函数来检查输入的行分隔符是什么样的?
还有其他方法吗?
编辑:
如果可能的话,我想使用Java的标准API而不是第三方库,但欢迎所有建议.
编辑:
只是为了澄清.
1)输入文件不依赖于该程序的运行位置.例如,如果我在Dos中运行此程序,我仍然可以获得Unix输入文件.
2)我的目标不是读取用行分隔符分隔的每一行 – 这很简单.我真正需要的是使用与输入文件相同的行分隔符编写输出文件.例如,如果我在Dos中运行此程序,并且我获得了Unix输入文件,我希望能够使用Unix行分隔符编写输出文件.这就是为什么我要问是否有一个标准API来检测基于输入文件的行分隔符,而不是运行操作系统.
谢谢.