You're doing some odd things with the line separators and apparently
have some odd line separators in the file. The point of
System.getProperty("line.separator") is that it returns different
values on different operating systems. In Windows, that should return
\r\n, of which you're only grabbing \r for some odd reason. In Linux,
that should return just \n. So I would expect you to get the result
you're getting if the file is \r record delimited and has \n's in the
data of your multiline record. If this file is always going to be in
this format, so always \r record delimited and only having \n's in the
data, then just set the RecordDelimiter property to \r always instead
of having it change based on the operating system, and then it should
at least work the same in both environments.
Bruce Dunwiddie