File
1、导包 :import:java.io.File//io:input 输入 output输出
2、File的意义:File的每一个实例用于表示硬盘上的一个文件或目录(实际上表示的是一个抽象路径)
3、File的作用
- 可以访问File表示的文件或目录的属性信息(文件名、大小、修改时间等等)
- 创建或删除文件及目录
- 访问一个目录(文件夹)中的所有子项
- File 不能 访问文件数据。
File常用构造器
- File(String pathname)指定一个路径,使当前File对象表达该位置对应的文件或目录。
- File(File parent,String pathname)参数1:当前File表示的文件或目录所处的父目录;参数2当前File表示的文件或目录的地址。
4、相对路径 绝对路径
- 相对路径"./":当前目录 。IDEA规定”./“就是当前项目目录
- 绝对路径:从系统定义的 根 开始,比如windows中硬盘上的根从c盘、d盘等盘符开始,缺点就是太绝对,不能更好适应跨平台
5、File常见方法
- String getName();
- long length();
6、 判断文件、目录是否存在:exists();是否为文件isFile();是否为目录isDirectory()。
创建目录:mkdir()方法在创建目录是时所在的目录必须存在
mkdirs()方法则会在创建该目录时将所有不存在的父目录全部创建出来。
创建文件:createNewFile()
删除文件、目录:delete()方法 此方法在删除目录时,要求目录必须是空的,否则删除失败
7、lambda表达式(JDK8之后推出的特性)
//定义文件过滤器 匿名内部类写法
FileFilter filter = new FileFilter() {
public boolean accept(File file) {
return file.isFile();
}
};
//lambda表达式是编译器认可的,编译成字节码文件时会被编译器改回成内部类创建
FileFilter filter1 = (File file)->{
return file.isFile();
};
//lambda表达式允许忽略参数类型
FileFilter filter2 = (file)->{
return file.isFile();
};
//lambda表达式如果方法体中只有一行代码,那么方法体的{}可以不写,如果这句代码含有return,那么return必须一同省略。
FileFilter filter3 = (f)->f.isFile();