mkdir() 和 mkdirs() 创建目录
File dir = new File("XXXX");
boolean flag = dir.mkdir();
flag = dir.mkdirs();
mkdir() : 确保上级目录存在,不存在则创建失败,flag返回0。
mkdirs() :上级目录可以不存在,不存在一同来创建。
list() 和 listFiles() 和 listRoots() 列出下一级
list() 下级名称 返回多个字符串。
String[] subNames = dir.list();
for(String s:subNames) {
System.out.println(s);
}
listFiles() 下级对象 返回多个文件对象。
File[] subFiles = dir.listFiles();
for(File s:subFiles) {
System.out.println(s.getAbsolutePath());
}
listRoots() 所有盘符 返回多个文件对象。
File[] roots = dir.listRoots();
for(File r:roots) {
System.out.println(r.getAbsolutePath());
}
打印子孙级目录和文件的名称 利用递归调用
public static void printName(File src,int deep) {
//控制前面层次
for(int i=0;i<deep;i++) {
System.out.print("-");
}
//打印名称
System.out.println(src.getName());
if(null ==src || !src.exists()) { //递归头
return ;
}else if(src.isDirectory()) { //目录
for(File s:src.listFiles()) {
printName(s,deep+1); //递归体
}
}
}
统计文件夹的大小 利用递归调用
private static long len =0;
public static void count(File src) {
//获取大小
if(null!=src && src.exists()) {
if(src.isFile()) { //大小
len+=src.length();
}else { //子孙级
for(File s:src.listFiles()) {
count(s);
}
}
}
}