java复习第7天---7.3---IO流---File类
目录
文章目录
内容
‘
1、File
1.1、概述
File为java对于文件和目录路径的抽象表示,主要用于文件和目录的创建,删除,遍历等待操作。
- file : 文件
- directory:目录
- path:路径
1.2、静态成员
- 静态成员变量
修饰符 | 数据类型 | 变量名 | 描述 |
---|---|---|---|
static | String | pathSeparator | 路径与路径间的分隔符,系统相关;Windows:’;’ ,Linux: ‘:’ |
static | String | separator | 路径内分隔符,系统相关; Windows:’’,Linux: ‘/’ |
-
示例1.2-1:
package io.file; import java.io.File; public class TestFile1 { public static void main(String[] args) { System.out.println(File.pathSeparator); System.out.println(File.separator); } } 测试结果: ; \
1.3、构造方法
- 常用构造方法
修饰符 | 方法名 | 参数 | 描述 |
---|---|---|---|
public | File | String pathname | 根据给定的路径创建File对象 |
public | File | String parent, String child | 根据给定的父路径,子路径创建File对象 |
public | File | File parent, String child | 根据给定的父File,子路径创建File对象 |
-
示例1.3-1:
package io.file; import java.io.File; public class TestFileConstructor1 { public static void main(String[] args) { String parent = "F:\\train\\resource\\06-File类与IO流"; String child = "1_8_1_04_File类的构造方法.avi"; File file = new File(parent); System.out.println(file); File file1 = new File(parent, child); File file2 = new File(file, child); System.out.println(file1); System.out.println(file2); } } 测试结果: F:\train\resource\06-File类与IO流 F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi
1.4、常用功能
1.4.1、查询
- 常用方法:
修饰符 | 返回值类型 | 方法名 | 参数列表 | 描述 |
---|---|---|---|---|
public | String | getAbsolutePath | 获取绝对路径 | |
public | String | getPath | 返回此抽象路径名称的字符串表示 | |
public | String | getName | 返回此抽象路径名称表示的文件名或者目录名 | |
public | String | getParent | 返回此抽象路径的父路径 | |
public | long | getLength | 返回文件的长度 |
-
示例1.4.1-1:
package io.file; import java.io.File; public class TestFileQuery { public static void main(String[] args) { String str = "F:\\train\\resource\\06-File类与IO流\\1_8_1_04_File类的构造方法.avi"; File file = new File(str); System.out.println(file.getAbsolutePath()); System.out.println(file.getParent()); System.out.println(file.getPath()); System.out.println(file.getName()); System.out.println(file.length()); } } 测试结果: F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi F:\train\resource\06-File类与IO流 F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi 1_8_1_04_File类的构造方法.avi 0
1.4.2、判断
- 常用方法
修饰符 | 返回值类型 | 方法名 | 参数列表 | 描述 |
---|---|---|---|---|
public | boolean | exists | 路径是否存在 | |
public | boolean | isDirectory | 是不是目录 | |
public | boolean | isFile | 是不是文件 |
-
示例1.4.2-1:
package io.file; import java.io.File; public class TestFileJuge { public static void main(String[] args) { String parent = "F:\\train\\note\\复习day07"; String child = "java复习第7天---7.2----Lambda表达式.md"; File file = new File(parent, child); System.out.println(file.exists()); System.out.println(file.isDirectory()); System.out.println(file.isFile()); } } 测试结果: true false true
1.4.3、创建删除
- 常用方法:
修饰符 | 返回值类型 | 方法名 | 参数列表 | 描述 |
---|---|---|---|---|
public | boolean | createNewFile | 当且仅当该文件不存在时,创建该文件 | |
public | boolean | delete | 删除此抽象路径表示的文件或者目录 | |
public | boolean | mkdir | 创建此抽象路径名命名的目录 | |
public | boolean | mkdirs | 创建此抽象路径名命名的目录,包含任何必需但是不存在的目录 |
-
示例1.4.3-1:
F:\test>dir 驱动器 F 中的卷是 data 卷的序列号是 0BF6-07BE F:\test 的目录 2020/05/27 16:02 <DIR> . 2020/05/27 16:02 <DIR> .. 0 个文件 0 字节 2 个目录 132,684,869,632 可用字节 package io.file; import java.io.File; import java.io.IOException; public class TestFileNewAndDelete { public static void main(String[] args) throws IOException { String parent = "f:\\test"; String child1 = "a.txt"; String child2 = "b\\c\\d"; String child3 = "hello"; new File(parent, child1).createNewFile(); new File(parent, child2).mkdirs(); new File(parent, child3).mkdir(); } } 测试结果: F:\test>tree 卷 data 的文件夹 PATH 列表 卷序列号为 0BF6-07BE F:. ├─b │ └─c │ └─d └─hello
1.4.4、绝对路径和相对路径
-
绝对路径:windows从盘符开始,到当前文件或者目录的路径表示;linux系统从跟/开始。
-
相对路径:确定相对的位置,以此位置为基础到当前文件或者目录的路径
-
示例1.4.4-1:
- f:\a\b\c\d.txt:表示绝对路径
- 相对f:\a\b路径,c\d.txt为相对路径
1.4.5、File类遍历
- 遍历方法
修饰符 | 返回值类型 | 方法名 | 参数列表 | 描述 |
---|---|---|---|---|
public | String[] | list | 返回此抽象路径下目录和文件 | |
public | String[] | list | FilenameFilter filter | 返回此抽象路径满足过滤器的目录和文件 |
public | File[] | listFiles | 返回此抽象路径的下的目录和文件的File对象 | |
public | File[] | listFiles | FileFilter filter | 返回此抽象路径满足过滤器的目录和文件File对象 |
-
过滤器类#3部分在讲解
-
示例1.4.5-1:遍历F:\test目录
package io.file; import java.io.File; public class TestFileList1 { public static void main(String[] args) { String parent = "f:\\test"; File file = new File(parent); if(file.isDirectory()) { String[] strs = file.list(); for(String str: strs) { System.out.println(str); } } } } 测试结果: a.txt b b.txt c.java d.bmp hello src
后记 :
本项目为参考某马视频开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785
前端项目源代码地址:https://gitee.com/gaogzhen/vue-leyou
后端JAVA源代码地址:https://gitee.com/gaogzhen/JAVA