How to remove line breaks from a file in Java?

java, line-breaks, newline, string

Solution

You need to set `text` to the results of `text.replace()`:

String text = readFileAsString("textfile.txt");
text = text.replace("\n", "").replace("\r", "");

This is necessary because Strings are immutable -- calling `replace` doesn't change the original String, it returns a new one that's been changed. If you don't assign the result to `text`, then that new String is lost and garbage collected.

As for getting the newline String for any environment -- that is available by calling `System.getProperty("line.separator")`.

Problem

How can I replace all line breaks from a string in Java in such a way that will work on Windows and Linux (ie no OS specific problems of carriage return/line feed/new line etc.)? I've tried (note readFileAsString is a function that reads a text file into a String): ``` String text = readFileAsString("textfile.txt"); text.replace("\n", ""); ``` but this doesn't seem to work. How can this be done?

Original source