文章目录
目录
前言
此篇文章属于Java语言必学内容
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是Java的File类?
Java 的 File 类表示文件或目录的抽象路径名。它可以用于访问或操作文件系统中的文件和目录,例如创建、删除、重命名、移动文件或目录等。File 类提供了多种构造方法,可以通过文件或目录的路径名字符串、URI 或 File 实例来创建 File 对象。File 类也提供了多种实例方法,例如获取文件名、路径名、父目录等信息以及判断文件或目录是否存在、是否为文件或目录等。
二、File类的基本使用
1.引入包
代码如下(示例):
import java.io.File; import java.io.IOException;
2.File类的构造函数:
共有六个构造函数,其功能都是通过路径字符串,创建一个File对象。创建对象时,其路径为抽象路径,即将你想创建的文件或文件夹也要加在路径里面。
3.File类的创建功能:
三个重点API,返回值均为boolean
public static void main(String[] args) {
File file = new File("D:\\sjava\\test.txt");
try {
file.createNewFile();
} catch (IOException e) {
throw new RuntimeException(e);
}
File file1 = new File("D:\\sjava\\Mercedes6");
boolean mkdir = file1.mkdir();
System.out.println(mkdir);
File file2 = new File("D:\\sjava\\Mercedes\\Mercedes2");
boolean mkdirs = file2.mkdirs();
System.out.println(mkdirs);
}
程序运行结果:
文件及文件夹成功被创建
在第一个API中,若已经存在文件,它不会再被创建
在第一个API中,一般是需要在该函数中抛出异常问题或者用try/catch包围
可以直接使用mkdirs方法,其功能比mkdir多,可代替mkdir
4.File类判断方法
第三个方法对文件及文件夹都有效。
5.File类的获取方法
File file = new File("D:\\sjava\\test.txt");
System.out.println(file.getAbsoluteFile());
运行结果:D:\sjava\test.txt
getPath与第一个API结果相同,即new File对象时填写的是什么,它就返回什么
getName() 该API返回的是该文件或该文件夹的名称
list方法有重载函数 参数为FileNameFilter,需要实现FileNameFilter接口中的Accept方法
listFiles也有重载函数 参数为FileNameFilter/FileFilter,需要实现FileNameFilter接口中的Accept方法
public static void main(String[] args) {
File file1 = new File("D:\\sjava");
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
};
for (File file: file1.listFiles(filter)
) {
System.out.println(file);
}
}
上面示例证明,过滤器填写的参数即为listFiles获取到的文件或文件夹
程序运行结果:
其中k.txt为一个文件夹,test.txt为一个文件
6.相对路径与绝对路径的区别:
绝对路径是指文件在硬盘上真正存在的路径。
相对路径是指Java工程中要访问的文件相对于当前文件的位置
在工程中,推荐使用相对路径,如果使用绝对路径,工程移到别人电脑上不一定能运行(路径被写死)
7.File类的删除方法:
boolean delete()
public static void main(String[] args) {
File file1 = new File("D:\\sjava\\test.txt");
boolean delete = file1.delete();
System.out.println(delete);
}
如果删除的路径是一个文件路径,则直接删除并返回true
但是如果删除的路径是一个文件夹路径,必须将文件夹中的文件或文件夹全删完才能删除成功
以上示例删除的是一个文件夹路径
三、总结
File类中有多个API供开发者使用,且使用相对简单