File类
一.
类中封装的是操作文件或文件夹的方法
file
1.表示一个文件
2.表示一个文件夹
3.表示一个文件的路径
file类中的静态变量
路径分隔符:
Windows: " ; "
Mac: " : "
分割符:
Windows: " \ "
Mac: " / "
二.
绝对路径:
该文件 在你当前硬盘上的路径(唯一的)如:
/Users/Commander/Desktop/test
绝对路径是以斜杠开头的
相对路径:
相对路径必须要有参照物(参照物是你的工程)
不以斜杠开头
file的构造方法:
1.判断该文件是否存在
boolean b1 = file1.exists();
System.out.println(b1);
2.打印绝对路径
System.out.println(file1.getAbsolutePath());
3.利用父子路径创建file对象
File file2 = new File("/Users/Commander/Desktop", "test");
boolean b2 = file2.exists();
4.利用一个文件和一个路径 创建file对象
String child = "test";
File parent = new File("/Users/Commander/Desktop");
File file3 = new File(parent, child);
boolean b3 = file3.exists();
5.创建文件
只能创建文件 没写文件的后缀(如haha.txt) 创建的也是文件
private static void fun3() throws IOException {
File file = new File("/Users/Commander/Desktop/test/haha");
boolean b = file1.createNewFile();
System.out.println(b1);
}
抛出IOException异常 是因为创建文件的路径可能不存在
6.获取文件名的方法
直接打印 打印的是文件的绝对路径 (因为tostring被重写了)
System.out.println(file);
7.创建文件夹
(1).mkdir 只能创建一层的文件夹 不能创建多级文件夹
File file2 = new File("/Users/Commander/Desktop/test/c");
boolean b2 = file2.mkdir();
(2).mkdirs 可以创建多级文件夹
boolean b3 = file2.mkdirs();
8.判断是否是文件或文件夹
文件:
boolean b1 = file.isFile();
文件夹:
boolean b2 = file1.isDirectory();
判断是否是隐藏文件;
boolean b3 = file1.isHidden();
9.删除方法
(慎重使用 不会经过你的回收站 很难恢复)
并且只能删除空文件夹 文件夹内不能有文件
File file = new File("/Users/Commander/Desktop/test/a");
boolean b1 = file.delete();
10.获取文件夹下的所有文件
(1).以字符串数组形式获取
获取的是文件名 并且只获取第一级文件名
String[] list = file1.list();
for (String string : list) {
System.out.println(string);
}
遍历结果中的.DS_Store是隐藏文件
(2).以文件数组形式获取
获取的是绝对地址
File[] listFiles = file1.listFiles();
for (File file : listFiles) {
System.out.println(file);
}