Java Create and Write Files

Creating and writing to files in Java can be done using various classes from the java.io and java.nio.file packages. This guide covers how to create new files and write data to them.

1. Using FileWriter

The FileWriter class is used to write character files. It is convenient for writing strings and characters to a file.

Example: Writing to a File Using FileWriter

import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        try {
            FileWriter writer = new FileWriter("output.txt");
            writer.write("Hello, world!");
            writer.close();
            System.out.println("Successfully wrote to the file.");
        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

2. Using Files.write()

The Files class provides static methods for file operations. The write() method can write data to a file in a single operation.

Example: Writing to a File Using Files.write()

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;
import java.io.IOException;
import java.util.Arrays;

public class FilesWriteExample {
    public static void main(String[] args) {
        String content = "Hello, world!";
        Path path = Paths.get("output.txt");
        try {
            Files.write(path, content.getBytes());
            System.out.println("Successfully wrote to the file.");
        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

3. Appending to a File

To append data to an existing file, use the FileWriter constructor with the append parameter set to true.

Example: Appending Data Using FileWriter

FileWriter writer = new FileWriter("output.txt", true);
writer.write("This will be appended.");
writer.close();

4. Key Takeaways

  • Use FileWriter for writing character files.
  • Always close the writer to release system resources.
  • Handle exceptions properly to avoid crashes.
  • Use Files.write() for simpler file writing needs.
  • Set the append flag to true when you need to add to existing files.