Java的File类

开发工具与关键技术: MyEclipse 10、Java语法
作者:邓婵
撰写时间:2019年 06月 24日

File类:将文件系统中的文件和文件夹封装成对象,提供了更多的属性和行为可以对这些文件和文件夹进行操作。这些是流对象办不到的,因为流只操作数据。比如可以通过调用File类中的方法实现创建、删除、重命名文件等操作。而File类的对象主要用来获取文件本身的信息,但是File不能访问文件内容本身,如获取文件所在的目录、文件的长度、文件的读写权限等。

通过File类使用三种构造方法来创建文件对象:
1、通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。

File file = new File("E:/E/BaseDataType.java");

2、根据定义的父路径和子路径名字符串(包含文件名)创建一个新File对象。

File file2 = new File("E:/E/","BaseDataType.java");

说明:括号中第一个为父路径字符串,如E:/doc。第二个为子路径字符串,如BaseDataType.java。

3、根据抽象路径名和路径名字符串创建一个新File实例。

File dir = new File("E:/E/");
File file3 = new File("BaseDataType.java");

注意区分下面两种不同的写法:

写法一:File dir = new File(".");
写法二:File dir = new File("/");

说明:这两种写法看着很相似但区别就很大,第一种写法就认为获取的是当前目录,第二种写法认为是根目录。

File类中比较特殊的方法:
String[] list() :列出指定目录下的当前的文件和文件夹的名称,包含隐藏文件。
说明:如果调用list方法的File对象中封装的是一个文件,那么list方法返回的数组为null。如果封装的对象不存在也会返回null,只有封装的对象存在并且是文件夹时,这个方法会才有效。

递归的定义:递归就是在栈内存中不断的加载同一个函数。当一个功能被重复使用,而每一次使用该功能时的参数不确定,都由上次的功能元素结果来确定。其实也就是函数自身调用自身,但递归的次数不要过多。
下面我们来看看例子如何通过递归和File类打印目录的所有子目录和子文件,相关代码可参考如图下所示:
在这里插入图片描述
思路说明:首先要在主方法中创建目录的File对象,然后写一个方法判断该文件是否存在,如果存在声明StringBuilder类来接收,再判断该文件件是否是一个目录,再然后把该文件进行for循环,通过递归调用自身,最后再到主方法去调用。
输出结果如图下所示:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值