Java基础——File

1、File类的概述

能够经过File类对操做系统的文件、文件夹进行操做数组

file:文件操作系统

directory:文件、目录指针

path:路径code

2、File类的静态成员变量

pathSeparator路径分隔符。在Windows中是分号;   在Linux中是冒号:对象

separator文件名分隔符。在Windows中是反斜杠\   在Linux中是正斜杠/递归


3、绝对路径和相对路径

绝对路径:是一个盘符为开始的路径内存

相对路径:是以当前项目为根目录的路径字符串

注意:1.路径不区分大小写get

          2.路径中的文件名分隔符Windows使用的是反斜杠,反斜杠是转义字符,两个反斜杠表明一个普通斜杠。源码

4、File类的构造方法

  • public File(String pathname) :经过将给定的路径名字符串转换为抽象路径名来建立新的 File实例。
  • public File(String parent, String child) :从父路径名字符串和子路径名字符串建立新的 File实例。
  • public File(File parent, String child) :从父抽象路径名和子路径名字符串建立新的 File实例。


5、File类的经常使用方法

获取功能的方法

  •         public String getAbsolutePath() :返回此File的绝对路径名字符串。 获取的构造方法中传递的路径 不管路径是绝对的仍是相对的,getAbsolutePath方法返回的都是绝对路径
  •         public String getPath() :将此File转换为路径名字符串。 获取的构造方法中传递的路径 toString方法调用的就是getPath方法 源码: public String toString() { return getPath(); }
  •         public String getName() :返回由此File表示的文件或目录的名称。 获取的就是构造方法传递路径的结尾部分(文件/文件夹)
  •         public long length() :返回由此File表示的文件的长度。 获取的是构造方法指定的文件的大小,以字节为单位 注意: 文件夹是没有大小概念的,不能获取文件夹的大小 若是构造方法中给出的路径不存在,那么length方法返回0

判断功能的方法

  •         public boolean exists() :此File表示的文件或目录是否实际存在。 用于判断构造方法中的路径是否存在 存在:true 不存在:false
  •         public boolean isDirectory() :此File表示的是否为目录。 用于判断构造方法中给定的路径是否以文件夹结尾 是:true 否:false 
  •  public boolean isFile() :此File表示的是否为文件。 用于判断构造方法中给定的路径是否以文件结尾 是:true 否:false 

注意: 电脑的硬盘中只有文件/文件夹,两个方法是互斥 这两个方法使用前提,路径必须是存在的,不然都返回false

建立和删除功能的方法

  •  public boolean createNewFile() :当且仅当具备该名称的文件尚不存在时,建立一个新的空文件。 建立文件的路径和名称在构造方法中给出(构造方法的参数) 返回值:布尔值 true:文件不存在,建立文件,返回true false:文件存在,不会建立,返回false 注意: 1.此方法只能建立文件,不能建立文件夹 2.建立文件的路径必须存在,不然会抛出异常 public boolean createNewFile() throws IOException createNewFile声明抛出了IOException,咱们调用这个方法,就必须的处理这个异常,要么throws,要么trycatch
  • public boolean mkdir() :建立单级空文件夹 public boolean mkdirs() :既能够建立单级空文件夹,也能够建立多级文件夹 建立文件夹的路径和名称在构造方法中给出(构造方法的参数) 返回值:布尔值 true:文件夹不存在,建立文件夹,返回true false:文件夹存在,不会建立,返回false;构造方法中给出的路径不存在返回false 注意: 1.此方法只能建立文件夹,不能建立文件
  • public boolean delete() :删除由此File表示的文件或目录。 此方法,能够删除构造方法路径中给出的文件/文件夹 返回值:布尔值 true:文件/文件夹删除成功,返回true false:文件夹中有内容,不会删除返回false;构造方法中路径不存在false 注意: delete方法是直接在硬盘删除文件/文件夹,不走回收站,删除要谨慎

 遍历文件夹功能

  •         public String[] list() :返回一个String数组,表示该File目录中的全部子文件或目录。 遍历构造方法中给出的目录,会获取目录中全部文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中
  •         public File[] listFiles() :返回一个File数组,表示该File目录中的全部的子文件或目录。 遍历构造方法中给出的目录,会获取目录中全部的文件/文件夹,把文件/文件夹封装为File对象,多个File对象存储到File数组中

    注意: list方法和listFiles方法遍历的是构造方法中给出的目录 若是构造方法中给出的目录的路径不存在,会抛出空指针异常 若是构造方法中给出的路径不是一个目录,也会抛出空指针异常


6、递归

递归的概念和分类

递归:方法本身调用本身 - 递归的分类: - 递归分为两种,直接递归和间接递归。 - 直接递归称为方法自身调用本身。 - 间接递归能够A方法调用B方法,B方法调用C方法,C方法调用A方法。  

递归的注意事项

  •  递归必定要有条件限定,保证递归可以中止下来,不然会发生栈内存溢出。
  •  在递归中虽然有限定条件,可是递归次数不能太多。不然也会发生栈内存溢出。 
  •  构造方法,禁止递归 递归的使用前提: 当调用方法的时候,方法的主体不变,每次调用方法的参数不一样,可使用递归


7、FileFilter过滤器的原理和使用

实际上FileFilter和FileNameFilter就是对文件名的一种筛选方法,一种机制让你对你的代码有一种更加清晰的分析。

相关文章
相关标签/搜索