zoukankan      html  css  js  c++  java
  • File

     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 filter)

      File[] listFiles(FilenameFilter filter)

      返回File数组。

     

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

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

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

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

    删除文件

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

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

     

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

    FileUtils类

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

  • 相关阅读:
    回调函数
    未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
    顶帽变化(转载)
    协程 + asyncio
    docker
    vue+uwsgi+nginx部署前后端分离项目
    html
    关于html的基础标签
    关于python中的GIL
    hashlib模块
  • 原文地址:https://www.cnblogs.com/liu-Gray/p/4793640.html
Copyright © 2011-2022 走看看