本帖最后由 小石姐姐 于 2018-8-9 11:32 编辑
File类:IO流,操作磁盘上的文件(文件夹/目录) 递归:方法自己调用自己 思想:大问题解决不了->拆解小问题:可以解决一个小问题+无法解决的另一个问题; 无法解决的另一个小问题->继续拆解小问题:可以解决的一个小问题+ 无法解决的另一个小问题……. 无法解决的另一个小问题->可以解决的小问题
第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法。 重要英文单词:(起变量名时会用到) file:文件; director:目录; path:路径 静态成员变量: static String pathSepartor:路径分隔符的字符串形式。 static String Separtor:文件名称分隔符的字符串形式。 注意:Windows系统是 反斜杠\ Linux系统是 正斜杠/ 1.2 绝对路径和相对路径 绝对路径:从盘符开始的路径,这是一个完整的路径。 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。 注意: 1.路径是不区分大小写的(Windows不区分大小写,linux,Mac区分)。 2.路径一般写成字符串,而字符串一个\是转义,所以要写两个\\。 1.3 方法 [Java] 纯文本查看 复制代码 构造方法
public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
获取功能的方法:
public String getAbsolutePath() :返回此File的绝对路径名字符串。
public String getPath() :将此File转换为路径名字符串。
public String getName() :返回由此File表示的文件或目录的名称。
public long length() :返回由此File表示的文件的长度。
判断功能的方法
public boolean exists() :此File表示的文件或目录是否实际存在。
public boolean isDirectory() :此File表示的是否为目录。
public boolean isFile() :此File表示的是否为文件。
创建删除方法
boolean createNewFile(): 当文件不存在时, 创建一个新的空文件。
boolean delete(): 删除由此File表示的文件或目录. (删除目录时必须是空目录)。
boolean mkdir(): 创建File表示的目录。
boolean mkdirs(): 创建File表示的多级目录。 1.4 目录的遍历 public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。 public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。 注意: List方法和listfiles方法遍历的是构造方法中给出的目录; 如果构造方法中给出的目录的路径不存在,会抛出空指针异常; 如果构造方法 给出的路径不是一个目录,也会抛出空指针异常; 第二章 递归 2.1 概述 递归:指在当前方法内调用自己的这种现象。 递归分类: 直接递归称为方法自身调用自己。 间接递归可以用A方法调用B方法,B方法调用C方法,C方法调用A方法。 递归时的注意事项: 1.递归要有限定条件(出口),保证递归能够停止(就是在某种条件下方法不再调用自己),否则会栈内存溢出。 2.递归次数不能太多,否测会栈内存溢出。 3.构造方法不能递归。 递归的使用前提: 调用方法时, 方法的主体不变, 但每次传递的参数值不同, 可以使用递归。 FileFilter文件过滤器的原理和使用 java.io.File类: Filter过滤器 [Java] 纯文本查看 复制代码 File[] listFiles(FileFilter filter): 通过File对象过滤, 返回文件过滤器过滤后的File对象数组。
File[] listFiles(FilenameFilter filter): 通过File对象的文件名过滤, 返回文件过滤器过滤后的File对象数组。 java.io.FileFilter接口: 用于File对象的过滤器。 [Java] 纯文本查看 复制代码 boolean accept(File pathName): true则会将参数的File对象加入返回的File[], false则不加入。 java.io.FilenameFilter接口: [Java] 纯文本查看 复制代码 boolean accept(File dir, String name): true则会将参数的File对象加入返回的File[], false则不加入。
|