天天看点

Java File类总结和FileUtils类 Java File类总结和FileUtils类

  创建出file类的对象并不代表该路径下有此文件或目录。

  用public boolean

exists()可以判断文件是否存在。

  file类的对象可以是目录或者文件。

  如果是目录,public boolean isdirectory()返回true;

  如果是文件(非目录则是文件),public boolean isfile()返回true;

  但是注意需要先判断文件是否存在,如果文件不存在,上面两个方法都返回false,即不存在的file类对象既不是文件也不是目录。

  public boolean

createnewfile()会创建一个新的空文件,只有该文件不存在的时候会创建,如果文件已经存在的话则返回false。

  public boolean mkdir()

  创建目录,成功返回true。只能创建一个文件夹,要求所有的父目录都存在,否则创建失败。

  public boolean mkdirs()

  创建目录,成功返回true,会创建所有不存在的父目录。(注意即便最后创建失败,但是也可能创建了一些中间目录)。

  上面两个方法如果要创建的目录已经存在,不再重新创建,都返回false,只有新建目录返回true。

  列出目录中的文件有以下方法可选:

  string[] list()

  string[] list(filenamefilter

filter)

  返回文件名数组。

  file[] listfiles()

  file[] listfiles(filefilter

  file[] listfiles(filenamefilter

  返回file数组。

  参数是文件或者文件名过滤器。

  注意返回为空和返回为null的意义是不同的。

  若不包含(符合条件的)文件,返回为空。

  但是如果返回为null,则表明调用方法的file对象可能不是一个目录,或者发生了io错误。

  boolean delete()方法会删除文件,如果file对象是文件则直接删除,对于目录来说,如果是空目录则直接删除,非空目录则无法删除,返回false。

  如果要删除的文件不能被删除则会抛出ioexception。

  注意:不论是创建文件、创建目录还是删除文件,只有在动作真正发生的时候会返回true。

  在项目中写一些工具类包装通用操作是很有必要的,看了一下apache的fileutils类,copy了一些方法出来:

Java File类总结和FileUtils类 Java File类总结和FileUtils类
Java File类总结和FileUtils类 Java File类总结和FileUtils类

fileutils.java

  file类官方文档:

  

  org.apache.commons.io.fileutils源码:

  本博客旧博文: