大数据技术的基础技能包括什么(大数据技术的基础是什么)
574
2022-05-28
File 类
概述
构造方法
代码展示
注意事项
常用方法
获取功能的方法
代码展示
绝对路径和相对路径
代码展示
判断功能的方法
代码展示
创建删除功能的方法
代码展示
目录的遍历
概述
java.io.File
类是文件和目录路径名的抽象, 主要用于文件和目录的创建, 查找和删除等操作.
构造方法
public File(String pathname): 通过将给定的路径名字符串准换为抽象路径名来创建新的 File 实例
public File(String parent, String child): 从父路径名字符串和子路径名字符串创建新的 File 实例
public File(File parent, String child): 从父抽象路径名和子路径名字符串创建新的 File 实例
代码展示
import java.io.File; public class Test { public static void main(String[] args) { // 文件路径名 String pathname = "a.txt"; File file1 = new File(pathname); // 通过父路径和子路径字符串 String parent = "c:/Users/Windows/Desktop"; String child1 = "b.txt"; File file2 = new File(parent, child1); // 通过父级File对象和子路径字符串 File parentDir = new File("c:/Users/Windows/Desktop"); String child2 = "b.txt"; File file3 = new File(parentDir, child2); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
注意事项
一个 File 对象代表硬盘中实际存在的一个文件或者目录
无论该路径下是否存在文件或者目录, 都不影响 File 对象的创建
常用方法
获取功能的方法
```public String getAbsolutePath()``: 返回此 File 的绝对路径名字符串
public String getPath(): 返回此 File 的构造路径字符串
public String getName(): 返回由此 File 表示的文件或者目录的名称
public long length(): 返回由此 File 表示的文件的长度
代码展示
import java.io.File; public class Test { public static void main(String[] args) { File f = new File("c:/Users/Windows/Desktop/d.txt"); System.out.println("文件的绝对路径:" + f.getAbsolutePath()); System.out.println("文件的构造路径:" + f.getPath()); System.out.println("文件名称:" + f.getName()); System.out.println("文件长度:" + f.length()); } } 输出结果: 文件的绝对路径:c:\Users\Windows\Desktop\d.txt 文件的构造路径:c:\Users\Windows\Desktop\d.txt 文件名称:d.txt 文件长度:0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
绝对路径和相对路径
绝对路径: 从盘符开始的路径, 这是一个完整的路径
相对路径: 相对于项目目录的路径, 这是一个便捷的路径 (开发中经常使用)
代码展示
import java.io.File; public class Test { public static void main(String[] args) { // C盘下的a.txt文件 File f1 = new File("C:/Users/Windows/Desktop/a.txt"); System.out.println(f1.getAbsolutePath()); // 项目下的a.txt文件 File f2 = new File("a.txt"); System.out.println(f2.getAbsolutePath()); } } 输出结果: C:\Users\Windows\Desktop\a.txt C:\Users\Windows\IdeaProjects\测试6\a.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
判断功能的方法
public boolean exists(): 此 FIle 表示的文件或目录是否实际存在
public boolean isDirectory(): 此 File 表示的是否为目录
public boolean isFile(): 此 FIle 表示的是否为文件
代码展示
import java.io.File; public class Test { public static void main(String[] args) { File f1 = new File("a.txt"); File f2 = new File("b.txt") ; // 判断是否存在 System.out.println("f1 是否存在:" + f1.exists()); System.out.println("f2 是否存在:" + f2.exists()); // 判断是文件还是目录 System.out.println("f1 是否是文件" + f1.isFile()); System.out.println("f1 是否是目录" + f1.isDirectory()); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
创建删除功能的方法
public boolean createNewFile(): 当且仅当具有该名称的文件尚不存在时, 创建一个新的空文件
public boolean delete(): 删除由此 File 表示的文件或目录
public boolean mkdir(): 创建由此 File 表示的目录
public boolean mkdirs(): 创建由此 File 表示的目录, 包括任何必须但不存在的父目录
代码展示
import java.io.File; import java.io.IOException; public class Test { public static void main(String[] args) throws IOException { // 文件的创建 File f1 = new File("aaa.txt"); System.out.println("是否存在:" + f1.exists()); // false System.out.println("是否创建:" + f1.createNewFile()); // true System.out.println("是否存在:" + f1.exists()); // true // 目录的创建 File f2 = new File("newDir"); System.out.println("是否存在:" + f2.exists()); // false System.out.println("是否创建:" + f2.mkdir()); // true System.out.println("是否存在:" + f2.exists()); // true // 创建多级目录 File f3 = new File("newDira/newDirb"); System.out.println(f3.mkdir()); // false File f4 = new File("newDira/newDirb"); System.out.println(f4.mkdirs()); // true // 文件的删除 System.out.println(f1.delete()); // true // 目录的删除 System.out.println(f2.delete()); // true System.out.println(f4.delete()); // false } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
API 中说明: delete 方法, 如果此 File 表示目录, 则目录删空才能删除.
目录的遍历
public String[] list(): 返回一个 String 数组, 表示该 File 目录中的所有子文件或目录
public File[] listFiles(): 返回一个 File 数组, 表示该 File 目录中的所有的子文件或目录
import java.io.File; public class Test { public static void main(String[] args) { File dir = new File("java_code"); // 获取当前目录下的文件夹名称 String[] names = dir.list(); for(String name : names){ System.out.println(name); } // 获取当前目录下的文件以及文件夹对象, 只要拿到了文件对象, 那么就可以获取更多信息 File[] files = dir.listFiles(); for(File file : files){ System.out.println(file); } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
注: 调用 listFiles 方法的 File 对象, 表示的必须是实际存在的目录. 否则返回 null, 无法进行遍历.
Java
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。