API | 说明 |
---|---|
mkdir() | 创建目录(父级目录不存在时失败) |
mkdirs() | 创建目录(父级目录不存在时会一同创建) |
list() | 下级名称 |
listFiles() | 下级File |
listRoots() | 根路径 |
文件夹的创建
创建dir文件夹
File dir = new File("E:/deom/dir");
boolean flag = dir.mkdir(); //创建成功返回true
System.out.println(flag);
使用mkdirs()创建结果一样
创建dir文件夹并在dir中创建test文件夹
File dir = new File("E:/deom/dir/test");
boolean flag = dir.mkdirs(); //创建成功返回true
System.out.println(flag);
使用mkdir()则会返回false
可以看到文件夹并没有被创建
而且控制台打印出的false
列出下一级目录
获取untitled3下级目录的名称
用list()
File dir = new File("E:/untitled3");
String[] subNames = dir.list(); //subNames用来存饭下级文件夹名称
for (String s : subNames) { //for循环输出subNames的每一项
System.out.println(s);
}
用listFile()
File dir = new File("E:/untitled3");
File[] subFiles = dir.listFiles(); //subFiles用来存饭下级文件夹名称
for (File s : subFiles) { //for循环输出subFiles的每一项
System.out.println(s);
}
列出所有盘符
listRoots()列出所有盘符
File dir = new File("E:/untitled3");
File[] roots = dir.listRoots();
for (File r : roots) {
System.out.println(r.getAbsolutePath());
}
遍历一个文件夹下所有子目录
public static void main(String[] args) {
File src = new File("E:\\untitled3");
printName(src,0);
}
public static void printName(File src,int deep) {
for (int i = 0; i < deep; i++) {
System.out.print("-"); //方便看出层次感
}
//打印名称
System.out.println(src.getName());
//判断是否存在下一级
if (src == null || !src.exists()) {
return;
} else if (src.isDirectory()) { //如果是目录则遍历下一级目录
for (File s:src.listFiles()) {
printName(s,deep+1);
}
}
}
获取文件夹的大小
public static void main(String[] args) {
File src = new File("E:\\untitled3");
count(src);
System.out.println(len);
}
private static long len = 0;
public static void count(File src) {
if (src == null || src.exists()) {
if (src.isFile()) {
len += src.length();
} else {
for (File s : src.listFiles()) {
count(s);
}
}
}
}