Search code examples
javafileoperating-systemcarriage-returnlinefeed

Carriage Return and Line Feed windows and Linux java application


I am working on a integration test application, this is what I am doing in the test case, I read a test input file,which is stored in the cvs , write it to a file in the file system,the application polls the directory for the file, processes it and creates the output file, and I poll the directory for the output file, test case is successful if the both the file contents are equal(I am reading the both input files and output files into strings and comparing them).

The problem is this test case fails when its runs in a linux system, the reason being the file which is stored in the cvs was checked in from a windows system which contains CRLF as the line terminations whereas the output file generated has the line terminations as CR,now when I read these files and compare them character by character, they are having a mismatch.

could anyone help here.


Solution

  • 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.