In Java, there are many ways to create and write to a file.
Files.newBufferedWriter(Java 8)Files.write(Java 7)PrintWriterFile.createNewFile
Note
I prefer the Java 7 nioFiles.writeto create and write to a file, because it has much cleaner code and auto close the opened resources.
  Files.write(
        Paths.get(fileName),
        data.getBytes(StandardCharsets.UTF_8));
1. Java 8 Files.newBufferedWriter
1.1 This example shows how to use the new Java 8 Files.newBufferedWriter to create and write to a file.
CreateFileJava8.java
package com.favtuts.io.file;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
public class CreateFileJava8 {
    
    public static void main(String[] args) {
        
        String fileName = "/home/tvt/workspace/favtuts/newFile.txt";
        Path path = Paths.get(fileName);
        
        // default, create, truncate and write to it.
        try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
            
            writer.write("Hello World !!");
        } catch (IOException e) {
            e.printStackTrace();
        }
        // Append mode.
        /*
        try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8, StandardOpenOption.APPEND)) {
            writer.write("Hello World !!");
            
        } catch (IOException e) {
            e.printStackTrace();
        }*/
    }
}
2. Java 7 Files.write
2.1 This example shows how to use the Java 7 nio Files.write to create and write to a file.
By default, it opens a file for writing; create the file if it doesn’t exist; truncate the current content if the file exists.
CreateFileNio.java
package com.favtuts.io.file;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
public class CreateFileNio {
    public static void main(String[] args) {
        
        String fileName = "/home/tvt/workspace/favtuts/newFile.txt";
        String content = "Hello World";
        try {
            
            // Java 1.7
            // default, create and write to it.
            Files.write(Paths.get(fileName), content.getBytes(StandardCharsets.UTF_8));
            // Append content
            // Files.write(Paths.get(fileName), content.getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
}
2.2 Review the Files.write. source code; it uses the try-with-resources to auto-close the opened resources.
Files.java
package java.nio.file;
  public final class Files {
      public static Path write(Path path, byte[] bytes, OpenOption... options)
            throws IOException
      {
          // ensure bytes is not null before opening file
          Objects.requireNonNull(bytes);
          try (OutputStream out = Files.newOutputStream(path, options)) {
              int len = bytes.length;
              int rem = len;
              while (rem > 0) {
                  int n = Math.min(rem, BUFFER_SIZE);
                  out.write(bytes, (len-rem), n);
                  rem -= n;
              }
          }
          return path;
      }
      //...
  }
3. PrintWriter
3.1 This example shows how to use PrintWriter to create and write to a file.
CreateFile.java
package com.favtuts.io.file;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
public class CreateFile {
    
    public static void main(String[] args) {
        
        String fileName = "/home/tvt/workspace/favtuts/newFile.txt";
        // Java 10, new constructor, support Charsets
        try (PrintWriter writer = new PrintWriter(fileName, StandardCharsets.UTF_8)) {
            writer.println("first line!");
            writer.println("second line!");
            
        } catch (IOException e) {
            e.printStackTrace();
        }
        // Java 1.5
        /*
        try (PrintWriter writer = new PrintWriter(fileName, "UTF-8")) {
            
            writer.println("first line!");
            writer.println("second line!");
            
        } catch (IOException e) {
            e.printStackTrace();
        }*/
    }
}
4. File.createNewFile()
4.1 This example shows how to use the File.createNewFile() to create an empty file, and the FileWriter to write data to the file.
CreateFile2.java
package com.favtuts.io.file;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class CreateFile2 {
    public static void main(String[] args) {
        
        String fileName = "/home/tvt/workspace/favtuts/newFile.txt";
        try {
            File file = new File(fileName);
            // true if file does no exist and was created successfully.
            // false if file is already exists
            if (file.createNewFile()) {
                System.out.println("File is created!");
            } else {
                System.out.println("File already exists.");
            }
            // Write to file
            try (FileWriter writer = new FileWriter(file)) {
                writer.write("Hello World!");
            }
            // Append mode
            // try (FileWriter writer = new FileWriter(file, true)) {
            //     writer.write("Hello World!");
            // }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
}
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-io