Java — How to create a new file | Code Factory

Code Factory
3 min readJul 2, 2020

--

Donate : Link

WordPress Blog : Link

There are various ways in which you can create a new file in Java. The two most recommended way of creating new files.

Create New file using Java NIO (Recommended) — JDK 7+

You can use Files.createFile(path) method to create a new File in Java :

package com.example.java.programming.file;import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
* @author code.factory
*
*/
public class CreateNewFile {
public static void main(String... args) {
Path filePath = Paths.get("./test.txt");
try {
// Create a file at the specified file path
Files.createFile(filePath);
System.out.println("File created successfully!");
} catch (FileAlreadyExistsException e) {
System.out.println("File already exists");
} catch (IOException e) {
System.out.println("An I/O error occurred: " + e.getMessage());
} catch (SecurityException e) {
System.out.println("No permission to create file: " + e.getMessage());
}
}
}

Create New File with missing parent directories using Java NIO

There are scenarios in which you may want to create any missing parent directories while creating a File. You can use Files.createDirectories(path) function to create missing parent directories before creating the file.

package com.example.java.programming.file;import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
* @author code.factory
*
*/
public class CreateNewFile {
public static void main(String... args) {
Path filePath = Paths.get("files/file/test.txt");

try {
// Create missing parent directories
if (filePath.getParent() != null) {
Files.createDirectories(filePath.getParent());
}
// Create a file at the specified file path
Files.createFile(filePath);
System.out.println("File created successfully!");
} catch (FileAlreadyExistsException e) {
System.out.println("File already exists");
} catch (IOException e) {
System.out.println("An I/O error occurred: " + e.getMessage());
} catch (SecurityException e) {
System.out.println("No permission to create file: " + e.getMessage());
}
}
}

Create New File in Java using java.io.File class — JDK 6+

You can also use the File.createNewFile() method to create a new File in Java. It returns a boolean value which is -

  • true, if the file does not exist and was created successfully
  • false, if the file already exists
package com.example.java.programming.file;import java.io.File;
import java.io.IOException;
/**
* @author code.factory
*
*/
public class CreateNewFile {
public static void main(String... args) {
File file = new File("./test.txt");
try {
// Create the file in the filesystem
boolean success = file.createNewFile();
if (success) {
System.out.println("File created successfully!");
} else {
System.out.println("File already exists!");
}
} catch (IOException e) {
System.out.println("An I/O error occurred: " + e.getMessage());
} catch (SecurityException e) {
System.out.println("No sufficient permission to create file: " + e.getMessage());
}
}
}

Create New File along with missing parent directories with java.io.File class

If you want to create missing parent directories while creating a file, then you can explicitly create the directories by calling file.getParentFile().mkdirs() method :

package com.example.java.programming.file;import java.io.File;
import java.io.IOException;
/**
* @author code.factory
*
*/
public class CreateNewFile {
public static void main(String... args) {
File file = new File("files/file//test.txt");
try {
// Create missing parent directories
if (file.getParentFile() != null) {
file.getParentFile().mkdirs();
}
// Create the file
boolean success = file.createNewFile();
if (success) {
System.out.println("File created successfully!");
} else {
System.out.println("File already exists!");
}
} catch (IOException e) {
System.out.println("An I/O error occurred: " + e.getMessage());
} catch (SecurityException e) {
System.out.println("No sufficient permission to create file: " + e.getMessage());
}
}
}

--

--