问题描述
|
我有一个在Windows上创建的文件,因此回车符为\“ \\ r \\ n \”。
该文件用于测试中,将文件的内容与测试期间生成的文件的内容进行比较。由于生成的文件具有相同的回车符,因此测试在Windows上通过。
但是测试不能在Unix / Mac上通过。
它失败,因为生成的文件具有换行符,即。仅\“ \\ n \”。
有人可以建议如何处理吗?
编辑:
该测试是JUnit(Java)测试。
解决方法
您可以比较逐行读取的文件
您可能有两个不同的Unix / Windows示例文件
,您可以尝试以下操作以避免逐行阅读
String text = FileUtils.readFileAsString(filename)
.replaceAll(\"(\\r\\n|\\r|\\n)\",\"\\n\");
这会用\“ \\ n \”替换任何类型的所有换行符
,我最终没有使用真实的文件,而是通过使用system属性在平台上运行时在平台上进行测试来创建文件,以获取平台行终止符。