我正在阅读文本文件,但我事先并不知道此文件中使用的行结尾类型。我需要知道它是使用UNIX \n
还是Windows样式\r\n
行结尾。
检测此问题的可靠且快速的方法是什么?
答案 0 :(得分:1)
来自维基百科:
file命令也会检测类型 使用的EOL:
file myfile.txt
> > myfile.txt: ASCII text, with CRLF line terminators
来源:http://en.wikipedia.org/wiki/Newline#Common_problems
当然,file
只适用于Unix系统。我相信其他人会为Windows回答一个。
答案 1 :(得分:1)
也许我错过了一个技巧,但你不能只是打开文件作为二进制文件并读取字节,直到看到'\n'
为止?如果您之前看过'\r'
,那就是Windows。否则就是Unix。