Java Create File Examples
Creating files in Java is easy. In this post, we’ll look at four different ways to create files in Java. All we need to do is import the relevant package and use relevant methods.
The examples below make use of java.io.file
, java.io.fileOutputStream
, and java.nio
package. These classes are provided out of the box in Java API. We also look at creating a file with Apache Commons.
Create File with java.io.file class
In the first example, we will use createNewFile()
method from the java.io.file
class. This method returns a boolean value. It returns false if the file already exists, or true if created.
import java.io.File;
import java.io.IOException;
public class CreateFileJavaExamples {
public static void main(String[] args) {
File file = new File("c://examples//newFile.txt");
try {
if (file.createNewFile()) {
System.out.println("File create");
} else {
System.out.println("File already exists!");
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
NOTE: The above example creates an empty file in the provided location.
- How to write to a file in Java
- How to get current working directory in Java
- How to read properties file in Java
Using java.io.fileOutputStream
The next example uses fileOutputStream
. It’s important to note that this is mostly used to create a file and write content to it in one go.
import java.io.FileOutputStream;
public class CreateFileJavaExamples {
public static void main(String[] args) {
try {
new FileOutputStream("newFile.txt", true);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
If the file doesn’t exist, the above method will create it. If the file exists, passing true
will just append content to it.
NOTE: Be careful when using fileOutputStream
. If the file exists with content, if we pass false
as the parameter to the fileOutputStream
method, it will overwrite the file and the content will be lost!
Create File with java.nio Package
In the following example, we will use java.nio
package which was introduced in JDK 7.
In order to create a file with the nio
package, we first need to set the path and then use the createFile()
method from Files
class. Creating files via the new nio
package is the preferred option as the API is more intuitive.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateFileJavaExamples {
public static void main(String[] args) {
try {
Path newFilePath = Paths.get("src/test/resources/newFile.txt");
Files.createFile(newFilePath);
}
catch (IOException e) {
}
}
}
The above code example assumes the path src/test/resources
already exists.
Apache Commons FileUtils
If you don’t want to use standard libraries provided out of the box from Java, you can use FileUtils
class from Apache Commons
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CreateFileJavaExamples {
public static void main(String[] args) {
File myFile = new File("src/test/resources/newFile.txt");
try {
FileUtils.touch(myFile);
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
In the above example, we use the touch
method to create a file.