java File相关

基本概念:
- File对象表示一个路径,可以是文件夹的路径发动反也可以是文件的路径
- 路径可以存在,也可以不存在?
常用方法:
判断
- exists
- isDirectory
- isFile
获取
- length: 不能获取文件夹大小, 只能把文件夹中文件大小累加在一起
- getAbsolutePath
- getPath
- getName
- lastModified
创建
- createNewFile(): 创建一个新的空文件
- mkdir(): 创建单级文件夹
- mkdirs(): 创建多级文件夹
删除
- delete(): 删除文件, 空文件夹
获取遍历
- listFiles(): 获取当前路径下所有内容
- listRoots(): 获取可用的文件系统根目录
思考
File应该是用了组合模式
用递归写个深度优先遍历C盘的小程序试试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22public class SearchFiles {
public static void main(String[] args) {
searchFile(new File[]{new File("C:")});
List<String> list = new ArrayList<String>();
}
public static void searchFile(File[] files) {
if (files == null) {
return;
}
for (File file : files) {
if (file.isFile()) {
String fileName = file.getName();
if (fileName.endsWith(".txt")) {
System.out.println(fileName);
}
}
File[] sonFiles = file.listFiles();
searchFile(sonFiles);
}
}
}