黑马程序员_java的IO流(第二十课总结)

------- android培训java培训、期待与您交流! ----------

通过今天对java语言IO流的学习,我来给自己的学习内容做下简单直白的总结:

首先,我来总结下学习IO流中的File类:

我们知道,数据最明显的体现形式就是文件...文件也是一类事物,我们就把文件或者文件夹进行了描述,而File类就是用来描述这类事物的..

我们可以将文件或者文件夹封装成对象,来方便我们对文件或者文件夹的属性信息进行操作...

File对象可以做为参数传递给流的构造函数...

一句话总结:File类是用来将文件或者文件夹封装成对象的..来方便我们对文件或者文件夹的属性信息进行操作

注意:流只能操作文件的数据,而File类可以操作文件夹和文件的属性信息...



File类的构造方法:




File类的常见方法:

创建:

(boolean)createNewFile();  在指定的位置创建文件,如果该文件存在,就不创建返回false

(boolean)mkdir(); 创建文件夹

(boolean)mkdirs(); 创建多级文件夹

删除 :

(boolean)delete(); 删除失败返回false,如果文件正在使用,则删除不了,返回false

(void)deleteOnExit(); 在程序退出时候,删除指定文件(无视异常)

判断 :

(boolean)exists(); 文件或则文件夹是否存在

(boolean)isFile(); 是否是一个文件  (判断前最好判断下该文件是否存在)

(boolean)isDirectory(); 是否是一个文件夹 (判断前最好判断下该文件夹是否存在)

(boolean)isHidden(); 是否是隐藏文件

(boolean)isAbsolute(); 是否是绝对路径(不管该文件或文件夹存在不存在)


获取(和文件或文件夹存不存在无关):

(String)getName(); 获取文件名称

(String)getPath(); 封装的是什么路径,返回的就是什么路径

(String)getAbsolutePath(); 获取绝对路径

(String)getParent(); 获取到的是绝对路径中的父目录,如果没指定绝对路径,会返回null.(也就是文件上层目录)



下面总结下Flie类中的listRoots()方法和list()方法:代码如图:


扩展:如果我不想获取到指定目录的所有文件,而是想要指定目录里的.java文件,怎么实现?

这时,我们可以在list()方法中传递一个接口参数:FilenameFilter(文件过滤器)

FilenameFilter接口下只有一个方法:accept(File dir(被指定的目录),String name(要过滤的文件)) ..返(boolean)

注意:list()和listFiles()区别:

list():只返回字符串内容....listFiles():会返回Flie对象,可以操作对象的方法..




递归的总结:

当函数自身调用自身的时候,这种表现形式,称之为:递归..

递归要注意的情况:

1,要限定条件...

2,要注意递归的次数,以免内存的溢出..

实例:使用递归累加求和....代码内存的运行示例图:


扩展:我们还可以使用递归的形式列出目录及子目录里的内容...但是要注意递归的2个情况...








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值