Java IO流之File类
一、 File类的用途
a) 该类的出现是java程序对文件系统的中的文件以及文件夹进行对象的封装。为了能够在代码中对文件或文件夹进行操作
二、 如何创建一个file类
a) 构造方法:File(String fileName)
i. 将一个字符串路径(相对或者绝对)封装成 File对象,该路径是可存在的,也可以是不存在
1. 绝对路径(创建file对象常用)
a) 绝对路径就是你的文件或目录在硬盘上真正的路径(从盘符根目录到文件的路径)
2. 相对路径
a) 相对与某个基准目录的路径(javaSE中为基准为工程所在目录)(工程所在目录到文件的路径)
3. 跨平台
a) 由于java是一门跨平台的语言,不同的操作系统表示路径的方法不同。("/" 表示 linux和UNIX 中的根目录,"\\" 表示 Windows 中的路径名。)
b) File类中特殊字段:separator;
i. 作用:跨平台的目录分隔符
三、 File类中的常用方法
a) 创建文件或文件夹
1. createNewFile();创建文件, 如果被创建的文件已经存在,则不创建
2. mkdir();创建文件夹
3. mkdirs():创建多级文件夹
b) 删除操作
1. Delete() 可用于删除文件或者文件夹;(注意:对于文件夹只能删除不带内容的空文件夹。对于带有内容的文件夹,不可以直接删除,必须要从里往外删除.)
2. deleteOnExit() 删除动作交给系统完成.无论是否反生异常,系统在退出时执行删除动作,
c) 判断操作
1. canWrite() 判断文件是否可读
2. canRead() 判断文件是否可写
3. exists() 判断文件是否存在
a) 创建文件对象后只要不是对文件对象进行创建操作,都需要事先使用此方法来判断文件是否存在
4. isFile() 判断 File对象中封装的是否是文件.
5. isDirectory()判断 File对象中封装的是否是文件夹
d) 其他常用操作
1. getName() 获取文件或文件夹的名称
2. getPath();获取在创建file对象时所使用的路径(无论是绝对路径还是相对路径)
3. getAbsolutePath();获取文件的绝对路径
4. getParent():获取 File对象封装文件或者文件夹的父目录,,注意:如果封装的是相对路径,那么返回的是null.
5. String[] list():获取指定目录下当前的文件以及文件夹名称,
6. String[]list(Filename filter):可以根据指定的过滤器,过滤后的文件及文件夹名称,
7. File[] listFiles():获取指定目录下的文件以及文件夹对象,
8. renameTo(File) 重命名
四、 File类的常用操作
a) 使用递归的方式敢不敢还能,列出指定目录下的文件以及文件夹中的文件(子文件).
b) 删除一个带内容的目录,,原理: 从里往外删除,所以需要使用递归完成
c) 递归简介
1. 概念: 其实就是在使用一个功能过程中, 又对该功能有需求,,就出现了函数自身调用自身
2. 注意:
a) 一定要有结束递归的限定条件,否则内存溢出(在递归中要有不调用自身函数的条件分支)
b) 使用递归时,调用次数不要过多,否则也会出现内存溢出。