在 Java 中创建目录
Mohd Ebad Naqvi
2023年10月12日
-
在 Java 中使用
mkdir()
函数创建目录 -
在 Java 中使用
mkdirs()
函数创建目录 -
在 Java 中使用
createDirectory()
函数创建目录 -
在 Java 中使用
createDirectories()
函数创建目录 -
在 Java 中使用
forceMkdir()
函数创建目录
目录是用于在计算机上存储文件的位置或文件系统编目结构。我们在 Java 中处理不同的文件处理操作。文件对象用于创建新文件夹或目录。
在本教程中,我们将在 Java 中创建一个目录。
在 Java 中使用 mkdir()
函数创建目录
首先,创建文件类的实例。然后参数传递给这个实例,就是我们要制作的目录路径。最后,使用文件对象调用 mkdir()
方法,创建所需的目录。
例如,
import java.io.File;
import java.util.Scanner;
public class CreateDirectory {
public static void main(String args[]) {
System.out.println("Path of Directory? ");
Scanner obj = new Scanner(System.in);
String path = obj.next();
System.out.println("Directory Name? ");
path = path + obj.next();
File D = new File(path);
boolean D1 = D.mkdir();
if (D1) {
System.out.println("Directory is created successfully");
} else {
System.out.println("Error !");
}
}
}
输出:
Path of Directory?
C:/
Directory Name?
TestDirectory
Directory is created successfully
在 Java 中使用 mkdirs()
函数创建目录
mkdir()
方法的缺点是 Java 一次只能使用它来创建一个目录。这个缺点可以通过使用 mkdirs()
方法解决,因为我们可以使用它来创建目录层次结构。即,父目录中的子目录等等。
例如,
import java.io.File;
import java.util.Scanner;
public class ABC {
public static void main(String args[]) {
System.out.println("Path? ");
Scanner obj = new Scanner(System.in);
String path = obj.next();
System.out.println("Name of Directory? ");
path = path + obj.next();
File D = new File(path);
boolean D1 = D.mkdirs();
if (D1) {
System.out.println("Folder is created successfully");
} else {
System.out.println("Error Found!");
}
}
输出:
Path?
C:/
Name of Directory?
TestDirectory/TestDirectory1
Folder is created successfully
使用 mkdirs()
方法在其父目录 TestDirectory 中创建 TestDirectory1。这不能使用 mkdir()
方法完成。
在 Java 中使用 createDirectory()
函数创建目录
Files.createDirectory()
也可以在 Java 中创建一个新目录。如果已存在同名文件,则抛出 FileAlreadyExistsException
。
例如,
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class JavaCreateDirectory {
public static void main(String[] args) throws IOException {
String fileName = "C:\EbadTest\NewTest";
Path path = Paths.get(fileName);
if (!Files.exists(path)) {
Files.createDirectory(path);
System.out.println("New Directory created ! " + filename);
} else {
System.out.println("Directory already exists");
}
}
}
输出:
New Directory created ! C:\EbadTest\NewTest
如果目录已经存在,则代码将给出以下输出。
Directory already exists
如果层次结构不存在,上面的代码将抛出 NoSuchFileException
。
在 Java 中使用 createDirectories()
函数创建目录
如果父目录不存在,Files.createDirectories()
可以创建一个新目录。它还可以创建目录层次结构。如果目录已经存在,createDirectories()
方法不会抛出异常。
例如,
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class JavaCreateDirectories {
public static void main(String[] args) throws IOException {
String fileName = "C:\NonExisting1\NonExisting2";
Path path = Paths.get(fileName);
Files.createDirectories(path);
System.out.println("New Directory created ! " + fileName);
}
}
输出:
New Directory created ! C:\NonExisting1\NonExisting2
在 Java 中使用 forceMkdir()
函数创建目录
org.apache.commons.io.FileUtils
包具有 forceMkdir()
函数,可根据需要创建目录和父目录。如果与目录同名的文件或目录已存在,则抛出异常。
例如,
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class JavaCreateDirectories {
public static void main(String[] args) throws IOException {
File directory = new File("C:\Test\Test1");
FileUtils.forceMkdir(directory);
System.out.println("New Directory created !");
}
}
输出:
New Directory created !