There are many ways to create and write a new file in Java. In this article, I will show you the below listed ways to create and write a new file in Java.
- Files.newBufferedWriter (Java 8)
- Files.write (Java 7)
- PrintWriter
- File.createNewFile
Below are the code examples to create a file with above listed approach.
1. Java 8 Files.newBufferedWriter
This example shows how to use the new Java 8 Files.newBufferedWriter to create and write to a 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;
public class CreateFileJava8 {
public static void main(String[] args) throws Exception {
String fileName = "C:\\training\\kodehelp\\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 Coders !!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. Java 7 Files.write
Below 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.
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
public class CreateFileNio {
public static void main(String[] args) {
String fileName = "C:\\training\\kodehelp\\newFile.txt";
String content = "hello coders!";
try {
// Java 1.7
// default, create and write to it.
Files.write(
Paths.get(fileName),
content.getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. PrintWriter Class
Below example shows how to use PrintWriter to create and write to a 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 = "C:\\training\\kodehelp\\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();
}
}
}
4. File.createNewFile()
Below example shows how to use the File.createNewFile() to create an empty file, and the FileWriter to write data to the file.
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class CreateFile2 {
public static void main(String[] args) {
String fileName = "C:\\training\\kodehelp\\newFile1.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!");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}