1. File类:1>概述:对文件和目录(文件夹)的抽象表示形式;
可以创建文件/删除文件/获取文件/判断文件是否存在/遍历文件/获取文件大小;
file文件;directory目录(文件夹);path路径;
2>静态变量:<1>static String pathSeparator // 路径分隔符,表示为字符串;
<2>static char pathSeparator // 路径分隔符;
<3>static String separator // 默认名称分隔符,表示为字符串;
<4>static char separator // 默认名称分隔符;
3>路径:文件名称不区分大小写;
<1>绝对路径:完整的路径 // C: / D: ... 开始;
<2>相对路径:简化路径,根目录相同,可以简化 // 123.txt ;
4>构造方法:有静态成员可以直接用类访问;
// File(File parent,String child)
// File(String pathname)
//File(String parent,String child)
// File(URI uri)
5>常用方法:<1>获取方法:publice String getAbsolutePath() //获取结对路径名字符串;
public String getPath() // file转换为路径名字字符串,toString方法调用的就是这个;
public String getName() //返回file的文件或目录名称;
public long length() //返回file表示的文件长度;
<2>判断方法:public boolean exists() //判断构造方法的路径(绝对,相对都可验证)是否存在;
public boolean isDirectory() // 此File表示的是否为目录;
public boolean isFile() // 此File表示的是否为文件;
<3>创建/删除方法:public boolean createNewFile() //在存在的路径下,创建之前不存在的新文件;
// 路径不存在时,会抛出IOException的异常,需要用throws或try...catch处理;
public boolean delete() //删除这个文件或目录(文件夹);
public boolean mkdir() //创建单级目录(文件夹),不能创建文件,下同;
public boolean mkdirs() // 创建单级或多级目录,包含必须但不存在的父目录;
<4>遍历目录(文件夹)功能:list和listFiles遍历构造方法中的目录;
路径不存在或路径不是一个目录会抛出空指针异常;
public String[] list() // 返回String数组,File目录下所有的文件或目录;
public File[] lisrFiles() //返回File数组,File目录下所有的文件或目录;
2.递归:1>概念:<1>在当前方法中自己调用自己;调用方法时,方法主体不变,每次调用方法参数不同;
<2>分为直接递归(直接调用自己)和间接递归(通过A-B-C-A方法间接调用自己);
2>注意:<1>要有条件限定,让递归能停下,且递归次数不能太多,否则都会造成栈内存溢出StackOverFlowError;
<2>构造方法不能递归;
3>练习:
3.FileFilter过滤器:1>File[] listFiles(FileFilter filter) //过滤文件;pathname
boolean accept(File dir,String name) // 测试文件是否在列表中;
2>File[] FilenameFilter(FileFilter filter) //过滤文件;dir
boolean accept(File dir,String name) // 测试文件是否在列表中;