JavaWrite To Files
Write To a File
If you are just starting with Java, the easiest way to write text to a file is by using theFileWriter class.
In the example below, we useFileWriter together with itswrite() method to create and write some text into a file.
Note: When you are done, you should close the writer with theclose() method:
Example
import java.io.FileWriter; // Import the FileWriter classimport java.io.IOException; // Import the IOException classpublic class WriteToFile { public static void main(String[] args) { try { FileWriter myWriter = new FileWriter("filename.txt"); myWriter.write("Files in Java might be tricky, but it is fun enough!"); myWriter.close(); // must close manually System.out.println("Successfully wrote to the file."); } catch (IOException e) { System.out.println("An error occurred."); e.printStackTrace(); } }}The output will be:
Successfully wrote to the file.Explanation: This program tries to write some text into a file namedfilename.txt. If everything works, the program will print"Successfully wrote to the file." in the console. If something goes wrong (for example, the file cannot be opened), it will print"An error occurred." instead.
Write To a File with try-with-resources
Since Java 7, you can usetry-with-resources. This makes sure the writer is closed automatically, even if an error occurs:
Example
import java.io.FileWriter;import java.io.IOException;public class WriteToFile { public static void main(String[] args) { // FileWriter will be closed automatically here try (FileWriter myWriter = new FileWriter("filename.txt")) { myWriter.write("Files in Java might be tricky, but it is fun enough!"); System.out.println("Successfully wrote to the file."); } catch (IOException e) { System.out.println("An error occurred."); e.printStackTrace(); } }}The output will be:
Successfully wrote to the file.Append to a File
Normally,FileWriter willoverwrite a file if it already exists. If you want toadd new content at the end of the file (without deleting what's already there), you can use the two-argument constructor and passtrue as the second parameter. This puts the writer intoappend mode:
Example
import java.io.FileWriter;import java.io.IOException;public class AppendToFile { public static void main(String[] args) { // true = append mode try (FileWriter myWriter = new FileWriter("filename.txt", true)) { myWriter.write("\nAppended text!"); System.out.println("Successfully appended to the file."); } catch (IOException e) { System.out.println("An error occurred."); e.printStackTrace(); } }}The output will be:
Successfully appended to the file.Explanation: This program adds the text"Appended text!" to the end offilename.txt instead of replacing the file's content.
Note: If the file does not already exist, Java will create it before appending.
Tip: To see what's inside the file, go to theJava Read Files chapter.
Other Ways to Write to Files
There are several classes you can use to write files in Java:
FileWriter- easiest choice forbasic text.BufferedWriter- better forlarge text files, because it is faster and supports handy features.FileOutputStream- best forbinary data (images, audio, PDFs)
You will learn more aboutFileOutputStream andBufferedWriter in a later chapter.

