java.io.File
文件和目录 路径名的抽象表示形式
文件:File 存储数据的
目录:Directory 文件夹 用来存储文件
路径:Path 定位具有平台无关性 在任意平台都可以使用
File类的静态常量
static String pathSeparator 与系统有关的路径分隔符 //打印 ;
static String separator 与系统有关的名称分隔符 //打印 \
uri 统一资源标识符
包含url
mailto:[email protected]
thrunder:sss
ed2k:
url 统一资源定位符
http:\\www.baidu.com
File类的构造方法
绝对路径
带盘符的路径就是绝对路径 唯一性
相对路径
具备一个参照点 参照点(父路径)是唯一的 子路径无限制
File(String pathname) 传入一个String类型路径,可以是路径,也可以是文件夹,但是要注意,路径可以不存在
File(String parrent, String child) 传入字符串一个父路径,一个字符串子路经
File(File parent, String child) 传入File类型的父路径,字符串类型的子路经
File类的创建方法
boolean createNewFile() IOException
创建文件 有了就不创建
返回值是boolean类型
创建成功返回true 失败返回false
创建的位置在构造方法中给出
能创建文件 不能创建文件夹(直接返回false)
boolean mkdir()
创建文件夹 有了就不创建
只能创建文件夹 不可以创建文件
只能创建单级文件夹 不可以创建多级
boolean mkdirs() 创建多级文件夹
File类的删除方法
boolean delete()
删除文件或文件夹 删除的位置构造方法中给出
删除文件时,无论文件是否有数据都会被删除,并且不进回收站
删除时,如果是多级目录不能删除,只能删除单机目录
File类的判断方法
boolean exists()
判断路径是否存在
文件和文件夹都可以进行判断
boolean isFile()
判断是否为文件
boolean isDirectory()
判断是否为文件夹
File类的获取方法
String getAbsolutePath()
File getAbsoluteFile()
返回绝对路径, 第一个返回的是字符串路径
第二个返回的是File对象 推荐使用第二个
String getName()
返回文件或文件夹的名字(不带路径)
String getPath()
File类型转换为一个字符串路径
构造方法中传递是什么路径 转化成的就是什么样路径
String getParent()
File getParentFile()
获取父路径
long length()
获取文件的字节数
注意 文件夹没有字节数的概念 不能获取文件夹(获取文件夹时结果不能代表什么)
String list()
获取当前文件夹下所有文件名 包含隐藏文件
File[] listFiles()
获取当前文件夹下所有文件的file对象
static File[] listRoots()
列出可用的文件系统根盘符
FileFilter 文件过滤器
File[] listFiles(FileFileter fileter)
获取过滤之后的所有文件
里面首先取出所有的文件名,然后遍厉封装为File对象,调用FileFilter的accept方法对File对象进行逐一判断
如果满足将其加入集合中,然后将集合变为数组
递归
方法调用方法本身
注意事项:
A:递归一定要有出口
B:递归的次数不能过多,否则会内存溢出
C:构造方法不能递归
递归的时候,第一个执行的方法最后出栈