递归打印所有子孙级目录和文件:
import java.io.File;
public class Test {
public static void main(String[] args){
File src = new File("F:/workspace/Eclipse_Java_workspace");
printName(src);
}
/**
* 打印子孙级目录和文件的名称
*/
public static void printName(File src) {
System.out.println(src.getName());
if(src == null || !src.exists()) {
return ;
}else if (src.isDirectory()) {//目录
for (File s : src.listFiles()) {
printName(s);
}
}
}
}
增加层次感:
import java.io.File;
public class Test {
public static void main(String[] args){
File src = new File("F:/workspace/Eclipse_Java_workspace");
printName(src, 0);
}
/**
* 打印子孙级目录和文件的名称
* @param deep 第几层
*/
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);
}
}
}
}
获取文件夹的大小:
import java.io.File;
public class Test {
public static void main(String[] args){
File src = new File("F:/workspace/Eclipse_Java_workspace");
count(src);
System.out.println(len);
}
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);
}
}
}
}
}