黑马程序员- 第二十天(文件)

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

一,File类
·是用来将文件或者文件夹封装成对象的类
·方便对文件与文件夹的属性信息进行操作                                      
·File对象可以作为参数传递给流的构造函数

二,File类方法与字段

字段:
static String separator  : 目录分隔符  跨平台的
构造函数:
File(String pathname) :
 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。可以将已有的和未出现的文件或者文件夹封装成对象
File(String parent, String child) :
在其指定的父目录创建一个File对象。比较灵活
File(File parent, String child) 
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。也就是说先路径封装成一个File对象,然后在其目录下创建对象

方法:
1,创建:
   boolean creatNewFile():
    抛出IOException.在指定位置创建文件,如果该文件已经存在,则不创建,返回false,和输出流不一样,输出流对象一建立就立刻建立文件
   static File creatTempFile(String prefix,String suffix):
    创建临时文件(前缀名和后缀名)
   static File creatTempFile(String prefix,String suffix,File directory)
    在指定的目录下创建临时文件
   boolean mkdir()创建目录或   创建文件夹 只能创建一级目录
   boolena mkdirs():创建多级目录  或文件夹
2,删除:
boolean delete();如果删除成功返回true,,重复删除(删除失败)会返回false
void  deleteOnExit();在程序退出时删除指定文件,一般用于删除临时文件
3,判断:

boolean canExecute():此文件是否可执行。当文件没有被创建时会返回false,当此文件已经存在时才会返回真
int compateTo(File pathname):按字母顺序比较两人抽象路径名
boolean exists():判断此文件是否存在。当此文件没有被创建时,会返回false
boolean isFile();判断是否是文件
boolean isDirectory():判断是否是目录
boolean isHidden():判断是否是隐藏文件
boolean isAbsolute(): 判断是否是绝对路径,文件不存在也能判断
注:在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在通过exists判断
4,获取信息:
String getName();获取文件名
String getPath();获取路径,封装什么路径就获取什么路径。文件可存在,可不存在
String getParent();获取父目录,该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null.如果相对路径中有上一层目录那么该目录就是返回结果
String getAbsolutePath():返回这个文件的绝对路径,无论封装什么路径,获取的都是绝对的
File  getAbsoluteFile();将这个文件的绝对的路径封装成对象并返回
File getParentFile():将此文件的路径封装成对象并返回
long lastModified():返回最后一次被修改的时间
long length():返回文件 的大小
static File[]  listRoots():列出可用的文件系统根,列出系统中的效的盘符
String[] list():返回指定文件目录或文件夹下的所有文件包含隐藏文件,当list方法所属对象一个文件时,会返回一个null的数组。所以file对象必须是一个目录,该目录必须存在
String[] list(FilenameFilter filter):返回指定的文件名
File[] listFiles():返回当前文件夹下的文件对象
File[] listFiles(FileFilter filter)  返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。


FilenameFilter 是可用于过滤器文件名的接口 ,类中的只有一个方法 boolean accept(File dir,String name)  测试指定文件是否应该包含在某一文件列表中。
也就是当且仅当该名称应该包含在文件列表中时返回 true;否则返回 false。注:name 是这个目录(参数dir)下的文件名
FileFilter  用于抽象路径名的过滤器的接口。其中只有一个方法 boolean accept(File pathname)  测试指定抽象路径名是否应该包含在某个路径名列表中。 
当且仅当应该包含 pathname 时返回 true



5,修改
boolean renameTo(File file):重命名,可以将一个文件从一个目录下移动到另一个目录下, 和剪切差不多

三,递归
因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可,在列出过程中出现的还是目录的话,还可以再次调用本功能,这种表现形式,称为递归

注意:
1,限定条件。
2,注意递归的次数,尽量避免内存溢出

删除的原理 :
先判断此文件对象是否是一个文件夹,如果是,先删除里面的文件,然后在删除此文件夹。

四。文件的切割
利用自定义数组的大小来完成切割,,当装满数组时就重新建立一个新的文件流

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值