Carriage Return and Line Feed windows and Linux java application

[亡魂溺海] 提交于 2019-12-02 10:03:54

You can check the line separator for the host operating system using System.getProperty("line.separator")

Since you're using text files, you can also compare the file contents line by line. Check LineNumberReader.readLine() for that.

You can try to compare them by lines. E.g. use FileUtils for this.

List<String> file1 = FileUtils.readLines(...);
List<String> file2 = FileUtils.readLines(...);
return file1.equals(file2);

You could remove all the '\r' characters from the downloaded file? Or replace the "\r\n" Windows string by the "\n" Linux one. Beware of the Mac case too: end of line could be identified by "\r".

When you check in the file, you can tell CVS it's a binary file (cvs add -kb), and then CVS will not convert line endings along the way.

This has other drawbacks too, e.g. no proper diff, but if you really test character by character, I guess you don't need that.

Please note that you must specify -kb when adding the file, you can't change it later.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!