本例以Windows, JDK1.7 为基础,来演示使用Java 目录(文件夹)的创建。

目录的创建可以使用多种方,主要包括创建单一目录和多级目录。
单一目录:

1
boolean File.mkdir();

多级目录:

1
boolean File.mkdirs();

在JDK 1.7 之后增加java.nio.file.Pathsjava.nio.file.Files 可以用Files下的方法来创建目录:
单一目录:

1
Path Files.createDirectory(Path dir, FileAttribute<?>... attrs);

多级目录:

1
Path Files.createDirectories(Path dir, FileAttribute<?>... attrs);

与使用java.io.File来创建目录,Java NIO 在创建的时候,如果创建失败则会抛出IOException异常,而在java.io.File只会返回创建成功或者失败的标识。

创建目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package com.devnp.io;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class CreateDirectory {

public static void main(String[] args) {
// TODO Auto-generated method stub
//createDir();
//createDirs();
//createDirectory();
createDirectories();
}

/**
* 单一目录
*/
public static void createDir(){
File file = new File("C:\\test");

boolean flag = false ;

if(!file.exists())
flag = file.mkdir();

if(flag){
System.out.println("Create Directory is Success.");
}else {
System.out.println("Create Directory is Failed.");
}
}

/**
* 多级目录
*/
public static void createDirs(){
File file = new File("C:\\test\\test");

boolean flag = false ;
if(!file.exists())
flag = file.mkdirs();

if(flag){
System.out.println("Create Directory is Success.");
}else {
System.out.println("Create Directory is Failed.");
}
}

/**
* 单一目录
*/
public static void createDirectory(){
Path path = Paths.get("C:\\test");

if (!Files.exists(path))
try {
Files.createDirectory(path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


/**
* 多级目录
*/
public static void createDirectories(){
Path path = Paths.get("C:\\test\\test");

if (!Files.exists(path))
try {
Files.createDirectories(path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

参考

1. java.nio.file.Files.html