How do I save a String to a text file using Java?

Justin White picture Justin White · Jun 27, 2009 · Viewed 1.2M times · Source

In Java, I have text from a text field in a String variable called "text".

How can I save the contents of the "text" variable to a file?

Answer

Jeremy Smyth picture Jeremy Smyth · Jun 27, 2009

If you're simply outputting text, rather than any binary data, the following will work:

PrintWriter out = new PrintWriter("filename.txt");

Then, write your String to it, just like you would to any output stream:

out.println(text);

You'll need exception handling, as ever. Be sure to call out.close() when you've finished writing.

If you are using Java 7 or later, you can use the "try-with-resources statement" which will automatically close your PrintStream when you are done with it (ie exit the block) like so:

try (PrintWriter out = new PrintWriter("filename.txt")) {
    out.println(text);
}

You will still need to explicitly throw the java.io.FileNotFoundException as before.