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

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


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.


Apache Commons IO contains some great methods for doing this, in particular FileUtils contains the following method:

static void writeStringToFile(File file, String data) 

which allows you to write text to a file in one method call:

FileUtils.writeStringToFile(new File("test.txt"), "Hello File");

You might also want to consider specifying the encoding for the file as well.


In Java 7 you can do this:

String content = "Hello File!";String path = "C:/a.txt";Files.write( Paths.get(path), content.getBytes());

There is more info here:http://www.drdobbs.com/jvm/java-se-7-new-file-io/231600403