概述
File代表文件或文件夹路径,路径可分为绝对路径和相对路径:
绝对路径:从盘符开始
相对路径:相对于某个位置的路径,在Eclipse是指当前项目下,dos下指的是当前路径。
功能
1、创建新文件:
File file1 = new File("yyy.txt");
System.out.println(file1.createNewFile()); //如果没有就创建,输出true,按F5刷新就能显示,有就不创建,输出false
File file2 = new File("zzz"); // 可以没有后缀
System.out.println(file2.createNewFile());
2、创建单级文件夹:
File dir1 = new File("aaa");
System.out.println(dir1.mkdir());
File dir2 = new File("bbb.txt"); // 文件夹也可以有后缀
System.out.println(dir2.mkdir());
3、创建多级文件夹
File dir4 = new File("eee//fff");
System.out.println(dir4.mkdirs());
4、重命名
// 路径相同直接改名
File file1 = new File("ooo.txt"); // 已存在的文件
File file2 = new File("xxx.txt"); // 新名字
System.out.println(file1.renameTo(file2));
//路径不同改名并剪切
File file1 = new File("ooo.txt");
File file2 = new File("/Users/apple/Desktop/xxx.txt");
System.out.println(file1.renameTo(file2)); // 重命名并将该文件剪切到桌面
5、删除功能
// 删除文件
File file1 = new File("yyy.txt"); // 已存在的文件
System.out.println(file1.delete());
// 删除文件夹,该文件夹内不能含有文件或文件夹,只能是空文件夹
File file2 = new File("aaa");
System.out.println(file2.delete());
6、获取功能
File file1 = new File("ccc.txt");
File file2 = new File("/Users/apple/Documents/workspace/day19/ccc.txt");
//获取绝对路径
System.out.println(file1.getAbsolutePath());// 输出/Users/apple/Documents/workspace/java/ccc.txt
System.out.println(file2.getAbsolutePath()); // 输出/Users/apple/Documents/workspace/java/ccc.txt
// 获取构造方法内传入的路径
System.out.println(file1.getPath()); // 输出ccc.txt
System.out.println(file2.getPath());// 输出/Users/apple/Documents/workspace/day19/ccc.txt
// 获取文件或文件夹的名称
System.out.println(file1.getName()); // 输出ccc.txt
System.out.println(file2.getName()); // 输出ccc.txt
// 获取指定目录下所有文件或文件夹的名称(仅获取名称)
File dir = new File("/Users/apple/Desktop/test");
String[] arr = dir.list();
for (String string : arr) {
System.out.println(string);
}
// 获取指定目录下所有文件或文件夹
File[] subfiles = dir.listFiles();
for (File file : subfiles) {
System.out.println(file);
}
文件名称过滤器
String[] arr = dir.list(new FilenameFilter() { // 过滤器
public boolean accept(File dir, String name) {
File file = new File(dir,name);
return file.isFile() && file.getName().endsWith(".JPG");// 留下文件后缀名为.JPG的文件
}
});
for (String string : arr) {
System.out.println(string);
}