2-1 File类常用API介绍
- Java.IO.File类表示文件或目录,只用于表示文件或目录得信息,不能用于文件的访问。
常用的API:
- 创建File对象:File file=new File(String path);注意:File.seperater();获取系统分隔符,如:”\“.
- boolean file.exists();是否存在.
- file.mkdir();或者file.mkdirs();创建目录或多级目录。
- file.isDirectory()或者file.isFile()判断是否是目录或者是否是文件。
- file.delete();删除文件或目录。
- file.createNewFile();创建新文件。
- file.getName()获取文件名称或目录绝对路径。
- file.getAbsolutePath()获取绝对路径。
- file.getParent();获取父级绝对路径。
- file.getSize();获取文件大小。
- file.getFormat();获取文件格式名。
2-2 遍历目录
import java.io.File;
import java.io.IOException;
// 列出file类的一些常用操作,比如过滤、遍历等操作
public class FileUtils {
public static void listDirectory(File dir) throws IOException{
// exists()方法用于判断文件或目录是否存在
if(!dir.exists()){
throw new IllegalArgumentException("目录:" + dir + "不存在");
}
// isDirectory()方法用于判断File类的对象是否是目录
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir + "不是目录");
}
// list方法用于列出当前目录下的子目录和文件
/*
String[] filenames = dir.list(); // 返回的是字符串数组 直接子的名称 不包含子目录下的内容
for (String string : filenames) {
System.out.println(dir + ":\\" + string);
}
*/
// 如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了返回File对象的API
File[] files = dir.listFiles();
// 返回的是直接子目录(文件)的抽象
//for (File file : files) {
//System.out.println(file);
// }
if(files!=null && files.length > 0){
for (File file : files) {
if(file.isDirectory()){
// 递归
listDirectory(file);
}else{
System.out.println(file);
}
}
}
}