I have a Java program that creates a file and prints a bunch of data using this statement:
out.write(data+"|"+data2+"\r\n");
When I view this file in vim in Unix I see a ^M after each line. What is it? What is causing this? How can I get rid of it?
You need to use the platform-specific line separator string instead of \r\n
when constructing your output string. That can be obtained by System.getProperty("line.separator");
.
^M is character 13 (decimal) which is the carriage return (in your code it's \r
). Notice that M is the 13th letter of the alphabet.
You can get rid of it by not including \r
in your code. This will work fine if you're on a unix platform. On windows, the file will look funny unless you're viewing it in something like Wordpad.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With