黑马程序员技术交流社区

标题: 【石家庄校区】 File类、递归。Skr [打印本页]

作者: 陈叶_cy    时间: 2018-8-7 10:38
标题: 【石家庄校区】 File类、递归。Skr
本帖最后由 小石姐姐 于 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则不加入。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2