File 类是操作文件的类,必须通过此类操作文件
1.导包
import java.io.File;
2.构造方法
输入一个文件位置字符串(文件不一定存在)
File f1 = new File("D:\\a.txt"); //表示一个文件
File f2 = new File("D:\\my"); //表示一个文件夹
File f3 = new File("b.txt"); //当前目录相对路径下的 b.txt
File f4 = new File("D:\\aa\\bb\\","a.txt"); //路径分成 2 部分
File f5 = new File(f2,"a.txt"); //路径分成 2 部分,父路径也是File
3.静态成员变量
1.系统相关的路径分隔符
File.pathSeparator; //或者 File.pathSeparatorChar
windows --> ;(分号)
linix --> :(冒号)
2.系统相关的名称分隔符
File.separator; //或者 File.separatorChar
windows --> \ (这个是转义字符,实际要用 \\ )
linux --> /
4.方法
1.获取相关功能
//1.获取绝对路径
String absolutePath = f3.getAbsolutePath();
//2.获取构造时输入的位置
String path1 = f1.getPath();
String path2 = f3.getPath(); //输入是相对,输出还是相对路径
//3.获取文件名(最后的一段文字)
String name1 = f1.getName(); //a.txt
String name2 = f2.getName(); //my
//4.获取文件的大小
Long len1 = f1.length(); //输出文件占用的字节大小
Long len2 = f2.length(); //文件夹 --> 0
Long len3 = f3.length(); //文件不存在 -->0
2.判断相关功能
//1.判断文件路径是否真实存在
boolean b1 = f1.exists(); //存在返回true,否则false
//2.判断是文件,还是文件夹
boolean bf1 = f1.isFile(); //判断是否文件
boolean bf2 = f2.isDirectory(); //判断是否文件夹
boolean bf3 = f3.isFile(); //如果路径不存在,2 个方法均返回false
3.创建和删除功能
//1.创建文件,路径必须存在,否则报错(需处理异常)
boolean bn1 = f1.createNewFile(); //文件存在时,创建失败,返回false
boolean bn3 = f3.createNewFile(); //文件不存在时,创建成功,返回true
//2.创建文件夹,路径必须存在,否则报错(需处理异常)
boolean bn2 = f2.mkdir(); //文件夹已存在时返回false,不存在返回true
//3.创建多级文件夹
boolean bn4 = f4.mkdirs();
//4.删除文件或文件夹
boolean bd1 = f1.delete(); //文件或文件夹都可以删除成功,且不到回收站
boolean bd2 = f2.delete(); //文件夹中有内容,删除失败
4.遍历相关方法
//1. list(),把构造方法中的目录下的所有文件名存到String数组中(包括隐藏文件)
String[] str1 = file2.list(); //如果不是文件夹,会报错
for(String fileName : str1){
System.out.println(fileName);
}
//2. listFiles(),把目录封装为File对象,存储到File数组中
File[] files = file2.listFiles();
for(File f : files){
System.out.println(f);
}
5.注意事项
默认重写了 toString 方法,打印输出它的 getPath 方法
相对路径和绝对路径,都可以用
文件夹也是文件,是一种有结构的文件