首页 > 代码库 > File、FileFilter、递归初步

File、FileFilter、递归初步

java.io.File
  文件和目录 路径名的抽象表示形式

  文件:File 存储数据的
  目录:Directory 文件夹 用来存储文件
  路径:Path 定位具有平台无关性 在任意平台都可以使用

File类的静态常量
    static String pathSeparator 与系统有关的路径分隔符 //打印 ;
    static String separator 与系统有关的名称分隔符 //打印 \

uri 统一资源标识符
    包含url
    mailto:785243732@qq.com
    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:构造方法不能递归

递归的时候,第一个执行的方法最后出栈

File、FileFilter、递归初步