Java目录操作
主要完成以下操作:
- 递归创建目录
- 删除目录
- 判断目录是否为空
- 判断文件是否隐藏
- 获取目录大小
- 在指定目录中查找文件
- 获取文件的上级目录
- 获取目录最后修改时间
- 打印目录结构
- 遍历指定目录下的所有目录
- 遍历指定目录下的所有文件
- 在指定目录中查找文件
- 遍历系统根目录
import java.io.File;
/**
* @author Amy E-mail:chuxiumin03@126.com
* @date 创建时间:2017年4月14日 上午9:02:31
* @version 1.0
*/
public class DirTest {
/**
* @ClassName: DirTest
* @Description: TODO(java目录操作)
*/
public static boolean isEmpty(String file2) {
//判断目录是否为空
File file = new File(file2);
if (file.isDirectory()) {
String files[]= file.list();
if (files.length>0) {
return false;
}
}
return true;
}
public static void visitAllDirsAndFiles(File dir) throws NullPointerException {
//循环遍历所有的目录和文件
System.out.println(dir);
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
visitAllDirsAndFiles(new File(dir, children[i]));
}
}
}
public static void visitAllDirs (File dir) {
//遍历指定目录下的所有目录
File[] f1 =dir.listFiles();
for (int i = 0; i < f1.length; i++) {
if (f1[i].isDirectory()) {
System.out.println(f1[i].getPath());
visitAllDirs(f1[i]);
}
}
}
public static void visitAllFilesinDir(File dir) {
//遍历指定目录下的所有文件
File [] f2 = dir.listFiles();
for (int i = 0; i < f2.length; i++) {
if (f2[i].isDirectory()) {
visitAllFilesinDir(f2[i]);
}else {
System.out.println(f2[i].getPath());
}
}
}
/**
* @Title: main
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param args
* @return: void
* @throws
*/
public static void main(String[] args) {
File sfile = new File("d:\\");
System.out.println(sfile.getPath());
sfile.mkdirs();//循环创建目录
sfile.exists();//目录是否已经存在
sfile.delete();//删除目录
System.out.println();
System.out.println(DirTest.isEmpty("e:\\12"));
visitAllDirsAndFiles(sfile);
File file2 = new File("d:\\Downloads");
visitAllDirs(file2);
File file3 = new File("D:\\17.2.6桌面\\competitiveness");
visitAllFilesinDir(file3);
}
}