java学习(11)-文件操作的简单描述(File类)



说明

因为是个人复习java的总结,所以结构稍显杂乱,有些语句过于口语化.


File类

是一个封装的用于增删改查文件和文件夹的类.
其中包含一些静态属性:pathSeparator路径分隔符,windows是; linux是:
separator是路径分隔符,windows是\ linux是/
所以在写程序的时候使用这个静态量代替较好,可以匹配不同的系统


绝对路径和相对路径

绝对路径就是完整的真实路径,由盘符开始直到指定目录
相对路径就是相对当前文件夹的路径方式.
路径需要使用两个反斜杠来表示,因为编译问题.


File类的构造方法

可以传入一个String路径作为参数
这个参数可以是文件名也可以是文件夹,可以是绝对路径也可以是相对路径,而且不考虑路径的真假性.
构造器也可以传入两个String父子路径作为参数
其实就是把路径分为两部分输入
构造器也可以传入File对象为父路径再输入String子路径
这样可以先对路径上的文件夹进行一些操作.


File常用的方法

getAbsolutePath()能够返回File的绝对路径
getPath()获取的路径是构造器中传入的路径,可以绝对也可以是相对的
getName()获取的是构造方法的结尾部分,可以实文件或文件夹,也就是操作的实际目录名
length()返回文件的大小,单位为字节.文件夹和不存在的路径都会返回0


File判断功能的方法

exists()判断路径是否在真的存在
isDirectory()判断路径是否为目录
isFile()判断路径是否为文件


File创建删除功能

createNewFile()文件在路径上不存在的时候,只能创建文件,返回为boolean,即使没有后缀名,创建的也是文件类型的.
delete()删除File中的文件夹或者文件,直接在内存删,不进回收站.
mkdir()创建单级文件夹
mkdirs()创建单级或者多级文件夹,如果File对象路径到文件,那么调用这方法会失败
这些方法都是没有参数的


File类的遍历

list()返回一个String数组表示路径中所有的子文件或者目录
listFiles()返回一个File数组表示路径中所有的子文件和目录
如果调用的File对象路径为文件,那么就会出现空指针异常
隐藏文件也可以由这种方式查询到


递归

  从内存上看递归,其实就是同个方法不断地压栈,所以需要注意,如果压栈过多就会出现栈内存溢出.


文件过滤器

  Files中有两个重载ListFiles的方法,方法里传递的就是过滤器

File[] listFiles(FileFilter filter)

  FileFilter接口时用来抽象路径名的过滤器
  其中有唯一的accept(File pathname)抽象方法,测试指定路径是否包含在某个路径名列表中,因为调用的时File对象,其构造器中有路径,这里就是用listFiles遍历路径下所有的文件,然后用accept()判断,如果正确就返回为File对象,否则就没有.从而达到过滤器的效果.

File[] listFiles(FilenameFilter filter)

  FilenameFilter接口时用来抽象文件名的过滤器
  其中有唯一的accept(File dir, String name)抽象方法
  两者都没有实现类,所以需要使用匿名内部类或者写实现类来实现



如有错误欢迎读者批评指正!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值