File类

我们为什么需要File类?

  在我们使用电脑的时候,我们所有的数据,都是通过"文件"来保存记录下来的。尽管文件的格式有许多不同种类,但它们都是文件。在Java的开发过程中,也常与文件打交道,这时候我们就需要使用Java提供的File类来操作文件。

  关于读取/输出文件内容等,是I/O流的知识范围,请看后面关于I/O流的文章。本篇文章主要将File类作为常用类,介绍File类的常用方法。

常用构造器

  实例化File类时,最常用的是使用传入文件路径的构造器,来创建。实例:

		File file = new File("d:/a.txt");
		File file = new File("d:\\a.txt"); // 路径中,写为 / 与 \\ 均可 

相对路径与绝对路径

  绝对路径,就是从盘符开始,一直到特定的目录或文件夹的完整路径。如:D:/a.txt

  相对路径,是相对论与某一个路径的路径。在工程中,就是指相对工程根目录的路径,如直接:b.text。如果此时工程的路径为:E:\eclipse_workspace\Project1。那么这个相对路径的完整路径(绝对路径)为:
E:\eclipse_workspace\Project1\b.txt

常用方法

  需要注意的是,File类既可以是文件,也可以是目录。

方法说明
boolean createNewFile()创建一个新文件
boolean delete()删除对应文件
boolean exists()判断File是否存在
boolean isDirectory()判断File是否是目录
boolean isFile()判断File是否是文件
long lastModified()返回File的最后修改时间
long length()返回File的大小
String getName()返回文件名
String getPath()返回文件相对路径
String getAbsolutePath()返回文件绝对路径
boolean mkdir()创建目录,如果中间某目录缺失,则失败
boolean mkdirs()创建目录,如果中间某目录缺失,则创建缺失目录
File[] listFiles()返回目录下所有文件及目录

  常用类就是需要多使用,多用就能记住它的用法,来个应用实例合集:

public class Test {

	public static void main(String[] args) throws IOException {
		
		File file1 = new File("d:/a.txt"); //绝对路径
		File file2 = new File("b.txt"); //没加盘符,为相对路径,则默认在工程根目录下
		
		file2.createNewFile();  //创建一个新文件
		
		System.out.println("File是否存在:"+file2.exists());
        System.out.println("File是否是目录:"+file2.isDirectory());
        System.out.println("File是否是文件:"+file2.isFile());
        System.out.println("File最后修改时间:"+new Date(file2.lastModified()));
        System.out.println("File的大小:"+file2.length());
        System.out.println("File的文件名:"+file2.getName());
        System.out.println("File的相对路径:"+file2.getPath());
        System.out.println("File的绝对路径:"+file2.getAbsolutePath());
        
        File file3 = new File("e:/java/file");
//        boolean flag = file3.mkdir(); //只会创建最后节点的目录,前面的目录结构有一个不存在,则创建失败
        boolean flag = file3.mkdirs();//前面目录结构中有一个不存在也没关系,会创建整个目录树
        System.out.println("目录是否创建成功:"+flag);
        System.out.println("新建目录是否存在:"+file3.exists()); // 对于目录,也可以使用和文件一样的方法来获取信息
        System.out.println("新建目录是否是目录:"+file3.isDirectory());
        System.out.println("新建目录是否是文件:"+file3.isFile());
        System.out.println("新建目录最后修改时间:"+new Date(file3.lastModified()));
	}
}
-------------------------------------------------------------------------
输出结果为:
File是否存在:true
File是否是目录:false
File是否是文件:true
File最后修改时间:Sun Mar 22 01:43:48 CST 2020
File的大小:0
File的文件名:b.txt
File的相对路径:b.txt
File的绝对路径:E:\eclipse_workspace\Project1\b.txt
目录是否创建成功:true
新建目录是否存在:true
新建目录是否是目录:true
新建目录是否是文件:false
新建目录最后修改时间:Sun Mar 22 01:43:48 CST 2020
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值