File类

 1.1 File类的概述

数据的存储:计算机中的硬盘和计算机中的内存

计算机中的硬盘:好处是可以持久化存储数据,当计算机断电了,数据依然可以在下次开机的时候进行读取和使用。弊端是相较于内存来说,读取和存储数据速度慢一些.

计算机中的内存:好处是存储数据和读取数据的速度会变的非常快。弊端是相较于硬盘来说,内存断电了或者程序停止了存储在内存中的数据就会消失。

通过File类与IO流进行搭配使用就可以通过Java代码将数据从内存写入到硬盘文件 或者从硬盘文件读取到内存中。

从硬盘文件中读取数据 将数据写入到硬盘文件中。离不开文件这两个字。要操作文件就必须知道这个文件在什么地方,在Java中万物皆对象,在计算上的文件也可以使用Java中的一个对象来表示。

File类就是文件和目录路径名的抽象表示形式。

主要用于文件和目录的创建、查找和删除等操作。也就是说File类可以表示一个文件也可以表示一个文件夹,我们可以通过操作File对象提供的相关方法对它所表示的文件/文件夹进行操作。

1.2 File类的构造方法

public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。

public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。

public File(File parent, String child):从父抽象路径名和子路径名字符串创建新的 File实例。

最后输出结果都是一样的;

注意事项:File封装的对象仅仅是一个路径。他可以是存在的,也可以是不存在的。存在可以操作,不存在可以创建。

1.3File类的判断方法

public boolean exists():此File表示的文件或者目录是否实际存在的。

public boolean isFile:此File是否是文件。

public boolean isdirectorr():此File表示的是否为目录;

File类的获取方法:

public String getAbsolutePath() :返回此File的绝对路径名字符串。(带盘符的路径)

public String getPath():将此File转换为路径名字符串。 (获取的是 封装路径)

public String getName():返回由此File表示的文件或目录的名称。

public long length():返回由此File表示的文件的长度。 不能获取目录的长度。

1.5相对路径和绝对路径:

绝对路径简单来说就是一个完整的路径,是从盘符开始走

相对路径就是我们在java里面写的路径,

1.6File类的创建和删除方法(相对比较重要)

public boolean createNewFile():当且仅当具有改名称的文件尚不存在时,创建一个新的文件。

public boolean delete():删除由此File表示的文件或者目录。

public boolean mkdir():创建一个单极文件夹。

public boolean mkdirs():创建一个多级文件夹。

注意:删除键需慎用:

File类的遍历方法:

public String [] list():返回一个String数组,储存的是File目录中所有的子文件或者子目录的名称。

public File[] listFiles():返回一个File数组,储存的是Flie目录中所有的子文件或者子目录的路径的File对象。

public String [] list()方法:

public File[] listFiles()方法:

注意事项:如果文件夹路径不存在或者没有访问权限,以上2个方法获取的时候会返回null,容易出现空指针异常。所以大家在遍历获取到的子文件和子目录之前,应该做非空判断

二.方法递归

2.1方法递归的概述:

递归简单来说就是创建一个方法然后自己一直调用自己。

递归的注意事项:递归要有出口不然就会报错其次就是递归的调用次数不宜过多

这就是递归的一个简单的形式。

下面来用递归做一个题

用递归求1到100的和。

这是递归打印的流程

当然我们也可以用for循环打印这算是,接下来是递归的主要用法。

现在是用递归打印某个文件所有的文件:上代码。

完结。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值