类 FileUtil

java.lang.Object
tech.mhuang.pacebox.core.file.FileUtil

public class FileUtil extends Object
文件工具类.

参照apache工具类、spring 工具类 取优方式

从以下版本开始:
1.0.0
作者:
mhuang
  • 字段详细资料

    • KB

      public static final long KB
      1KB
      另请参阅:
    • MB

      public static final long MB
      1MB
      另请参阅:
    • GB

      public static final long GB
      1GB
      另请参阅:
    • TB

      public static final long TB
      1TB
      另请参阅:
    • PB

      public static final long PB
      1PB
      另请参阅:
    • EMPTY_FILE_ARRAY

      public static final File[] EMPTY_FILE_ARRAY
      An empty array of type File.
  • 构造器详细资料

    • FileUtil

      public FileUtil()
  • 方法详细资料

    • createFile

      public static void createFile(File file) throws IOException
      创建文件
      参数:
      file - 文件
      抛出:
      IOException - IO异常
    • createDirectory

      public static void createDirectory(File directory) throws IOException
      创建目录(上级存在时创建)
      参数:
      directory - 创建的目录
      抛出:
      IOException - 抛出IO异常
    • createDirectory

      public static void createDirectory(String directory) throws IOException
      创建目录(上级存在时创建)
      参数:
      directory - 创建的目录路径
      抛出:
      IOException - 抛出IO异常
    • createDirectory

      public static void createDirectory(File directory, boolean cascade) throws IOException
      创建文件夹是否级联创建.

      如果cascade是真则级联、若不是只创建自己

      参数:
      directory - 文件夹
      cascade - 是否级联
      抛出:
      IOException - 抛出IO异常
    • createDirectory

      public static void createDirectory(String directory, boolean cascade) throws IOException
      创建文件夹是否级联创建.

      如果cascade是真则级联、若不是只创建自己

      参数:
      directory - 文件夹路径
      cascade - 是否级联
      抛出:
      IOException - 抛出IO异常
    • openInputStream

      public static FileInputStream openInputStream(File file) throws IOException
      文件打开流
      参数:
      file - 需要打开的file
      返回:
      FileInputStream 文件流
      抛出:
      IOException - 抛出IO异常
    • openOutputStream

      public static FileOutputStream openOutputStream(File file) throws IOException
      文件打开输出流
      参数:
      file - 文件
      返回:
      FileOutputStream 文件输出流
      抛出:
      IOException - 抛出IO异常
    • openOutputStream

      public static FileOutputStream openOutputStream(File file, boolean append) throws IOException
      文件打开输出流
      参数:
      file - 文件
      append - 是否可增加
      返回:
      FileOutputStream 文件输出流
      抛出:
      IOException - 抛出IO异常
    • toFile

      public static File toFile(URL url) throws URISyntaxException
      URL 转 File.
      参数:
      url - URL对象
      返回:
      返回File对象
      抛出:
      URISyntaxException - 非法的URL
    • toFiles

      public static File[] toFiles(URL[] urls) throws URISyntaxException
      URL Array convert File Array
      参数:
      urls - url array
      返回:
      File Array
      抛出:
      URISyntaxException - URI无效连接异常
    • copyFileToDirectory

      public static void copyFileToDirectory(File srcFile, File destDir) throws IOException
      将源文件复制到对应文件夹
      参数:
      srcFile - 源文件
      destDir - 复制到的文件夹
      抛出:
      IOException - 抛出IO异常
    • copyFileToDirectory

      public static void copyFileToDirectory(File srcFile, File destDir, boolean preserveFileDate) throws IOException
      将源文件复制到对应文件夹
      参数:
      srcFile - 源文件
      destDir - 复制到的文件夹
      preserveFileDate - 是否更新时间
      抛出:
      IOException - 抛出IO异常
    • copyFile

      public static void copyFile(File srcFile, File destFile) throws IOException
      将源文件复制到目标文件
      参数:
      srcFile - 源文件
      destFile - 目标文件
      抛出:
      IOException - 抛出IO异常
    • copyFile

      public static void copyFile(File srcFile, File destFile, boolean upFileDate) throws IOException
      将源文件复制到目标文件
      参数:
      srcFile - 源文件
      destFile - 目标文件
      upFileDate - 是否更新文件时间
      抛出:
      IOException - 抛出IO异常
    • copyDirectoryToDirectory

      public static void copyDirectoryToDirectory(File srcDir, File destDir) throws IOException
      将源文件夹中文件拷贝到目标文件夹
      参数:
      srcDir - 源文件夹
      destDir - 目标文件夹
      抛出:
      IOException - 抛出IO异常
    • copyDirectory

      public static void copyDirectory(File srcDir, File destDir) throws IOException
      拷贝目录
      参数:
      srcDir - 源目录
      destDir - 目标目录
      抛出:
      IOException - 抛出IO异常
    • copyDirectory

      public static void copyDirectory(File srcDir, File destDir, boolean upFileDate) throws IOException
      将源文件夹中文件拷贝到目标文件夹
      参数:
      srcDir - 源文件夹
      destDir - 目标文件夹
      upFileDate - 是否更新时间
      抛出:
      IOException - 抛出IO异常
    • copyDirectory

      public static void copyDirectory(File srcDir, File destDir, FileFilter filter, boolean upFileDate) throws IOException
      将源文件夹中文件拷贝到目标文件夹
      参数:
      srcDir - 源文件夹
      destDir - 目标文件夹
      filter - 过滤器
      upFileDate - 是否更新时间
      抛出:
      IOException - 抛出IO异常
    • copyURLToFile

      public static void copyURLToFile(URL source, File destination) throws IOException
      将URL拷贝到File中
      参数:
      source - URL
      destination - File
      抛出:
      IOException - 抛出IO异常
    • copyURLToFile

      public static void copyURLToFile(URL source, File destination, int connectionTimeout, int readTimeout) throws IOException
      将URL拷贝到File中 指定对应的链接读取超时时间
      参数:
      source - URL
      destination - FILE
      connectionTimeout - 链接超时时间
      readTimeout - 读取超时时间
      抛出:
      IOException - 抛出IO异常
    • copyInputStreamToFile

      public static void copyInputStreamToFile(InputStream source, File destination) throws IOException
      将输入流拷贝到File中
      参数:
      source - 输入流
      destination - File
      抛出:
      IOException - 抛出IO异常
    • copyToFile

      public static void copyToFile(InputStream source, File destination) throws IOException
      将输入流拷贝到File中
      参数:
      source - 输入流
      destination - File
      抛出:
      IOException - 抛出IO异常
    • deleteDirectory

      public static void deleteDirectory(String directoryPath) throws IOException
      删除目录
      参数:
      directoryPath - 目录路径
      抛出:
      IOException - 抛出IO异常
    • deleteDirectory

      public static void deleteDirectory(File directory) throws IOException
      删除目录
      参数:
      directory - 目录
      抛出:
      IOException - 抛出IO异常
    • cleanDirectory

      public static void cleanDirectory(File directory) throws IOException
      清空目录
      参数:
      directory - 目录
      抛出:
      IOException - 抛出IO异常
    • forceDelete

      public static void forceDelete(File file) throws IOException
      删除文件、如果是目录则一起他目录下的文件和他自己
      参数:
      file - 删除的文件或目录
      抛出:
      IOException - 抛出IO异常
    • readFileToString

      public static String readFileToString(File file) throws IOException
      读取文件到字符串
      参数:
      file - 文件
      返回:
      读取到文件的字符串
      抛出:
      IOException - 抛出IO异常
    • readFileToByteArray

      public static byte[] readFileToByteArray(File file) throws IOException
      读取文件到字节数组
      参数:
      file - 文件
      返回:
      读取到文件的字节数组
      抛出:
      IOException - 抛出IO异常
    • readFileToString

      public static String readFileToString(File file, String encoding) throws IOException
      读取文件到字符串
      参数:
      file - 文件
      encoding - 编码
      返回:
      读取到的字符串以及固定的编码格式
      抛出:
      IOException - 抛出IO异常
    • writeStringToFile

      public static void writeStringToFile(File file, String data, Charset encoding) throws IOException
      将字符串写到文件里(覆盖)
      参数:
      file - 文件
      data - 字符串数据
      encoding - 编码
      抛出:
      IOException - 抛出IO异常
    • writeStringToFile

      public static void writeStringToFile(File file, String data, String encoding) throws IOException
      将字符串写到文件里(覆盖)
      参数:
      file - 文件
      data - 字符串数据
      encoding - 编码字符串
      抛出:
      IOException - 抛出IO异常
    • writeStringToFile

      public static void writeStringToFile(File file, String data, String encoding, boolean append) throws IOException
      将字符串写到文件里

      if append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 字符串数据
      encoding - 编码字符串
      append - 是否是追加
      抛出:
      IOException - 抛出IO异常
    • writeStringToFile

      public static void writeStringToFile(File file, String data) throws IOException
      将字符串写到文件里(覆盖)
      参数:
      file - 文件
      data - 字符串数据
      抛出:
      IOException - 抛出IO异常
    • writeStringToFile

      public static void writeStringToFile(File file, String data, boolean append) throws IOException
      将字符串写到文件里
      参数:
      file - 文件
      data - 字符串数据
      append - 是否是追加
      抛出:
      IOException - 抛出IO异常
    • writeStringToFile

      public static void writeStringToFile(File file, String data, Charset encoding, boolean append) throws IOException
      将字符串写到文件里

      if append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 数据
      encoding - 编码
      append - 是否是追加
      抛出:
      IOException - 抛出IO异常
    • write

      public static void write(File file, CharSequence data) throws IOException
      将字符序列写入文件里(覆盖)
      参数:
      file - 文件
      data - 字符序列
      抛出:
      IOException - 抛出IO异常
    • write

      public static void write(File file, CharSequence data, boolean append) throws IOException
      将字符序列写入文件里

      如果 append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 字符序列
      append - 是否追加
      抛出:
      IOException - 抛出IO异常
    • write

      public static void write(File file, CharSequence data, Charset encoding) throws IOException
      将字符序列写入文件里(覆盖)
      参数:
      file - 文件
      data - 字符序列
      encoding - 编码
      抛出:
      IOException - 抛出IO异常
    • write

      public static void write(File file, CharSequence data, String encoding) throws IOException
      将字符序列写入文件里(覆盖)
      参数:
      file - 文件
      data - 字符序列
      encoding - 编码字符串
      抛出:
      IOException - 抛出IO异常
    • write

      public static void write(File file, CharSequence data, String encoding, boolean append) throws IOException
      将字符序列写入文件里

      如果 append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 字符序列
      encoding - 编码字符串
      append - 是否追加
      抛出:
      IOException - 抛出IO异常
    • write

      public static void write(File file, CharSequence data, Charset encoding, boolean append) throws IOException
      将字符序列写入文件里

      如果 append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 字符序列
      encoding - 编码
      append - 是否追加
      抛出:
      IOException - 抛出IO异常
    • writeByteArrayToFile

      public static void writeByteArrayToFile(File file, byte[] data) throws IOException
      字节数据写入文件里(覆盖)
      参数:
      file - 文件
      data - 字节数组
      抛出:
      IOException - 抛出IO异常
    • writeByteArrayToFile

      public static void writeByteArrayToFile(File file, byte[] data, boolean append) throws IOException
      将字节数组写入文件里

      如果 append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 字节数组
      append - 是否追加
      抛出:
      IOException - 抛出IO异常
    • writeByteArrayToFile

      public static void writeByteArrayToFile(File file, byte[] data, int off, int len) throws IOException
      将字节数组根据其实偏移后的数据长度写入文件里(覆盖)
      参数:
      file - 文件
      data - 字节数组
      off - 偏移
      len - 写入的长度
      抛出:
      IOException - 抛出IO异常
    • writeByteArrayToFile

      public static void writeByteArrayToFile(File file, byte[] data, int off, int len, boolean append) throws IOException
      将字节数组根据其实偏移后的数据长度写入文件里

      如果 append 是true 则追加、false是覆盖

      参数:
      file - 文件
      data - 字节数组
      off - 偏移
      len - 写入的长度
      append - 是否追加
      抛出:
      IOException - 抛出IO异常
    • moveDirectory

      public static void moveDirectory(File srcDir, File destDir) throws IOException
      文件夹移动
      参数:
      srcDir - 源文件夹
      destDir - 移动后的文件夹
      抛出:
      IOException - 抛出IO异常
    • moveDirectoryToDirectory

      public static void moveDirectoryToDirectory(File src, File destDir, boolean createDestDir) throws IOException
      将原目录移动到目标目录
      参数:
      src - 原目录
      destDir - 目标目录
      createDestDir - 不存在时是否自动创建
      抛出:
      IOException - 抛出IO异常
    • moveFile

      public static void moveFile(File srcFile, File destFile) throws IOException
      文件移动
      参数:
      srcFile - 源文件
      destFile - 目标文件
      抛出:
      IOException - 抛出IO异常
    • moveFileToDirectory

      public static void moveFileToDirectory(File srcFile, File destDir, boolean createDestDir) throws IOException
      将源文件移动到目标文件夹下
      参数:
      srcFile - 源文件
      destDir - 目标文件夹
      createDestDir - 是否创建目标文件夹
      抛出:
      IOException - 抛出IO异常
    • moveToDirectory

      public static void moveToDirectory(File src, File destDir, boolean createDestDir) throws IOException
      将原文件或文件夹移动到目标文件夹下
      参数:
      src - 原文件或文件夹
      destDir - 目标文件夹
      createDestDir - 是否创建目标文件夹、目标文件夹不存在时请创建
      抛出:
      IOException - 抛出IO异常
    • delete

      public static boolean delete(File file)
      若是文件夹则清空文件夹删除本文件夹、若不是文件夹则删除文件
      参数:
      file - 删除的文件或文件夹
      返回:
      删除文件成功或失败
    • getFileList

      public static List<File> getFileList(File directory, boolean recursion) throws IOException
      获取目录下的所有文件
      参数:
      directory - 目录
      recursion - 是否递归遍历所有文件夹
      返回:
      返回目录下的所有文件
      抛出:
      IOException - 抛出IO异常
    • getFileList

      public static List<File> getFileList(String directory, boolean recursion) throws IOException
      获取目录下的所有文件
      参数:
      directory - 目录
      recursion - 是否递归遍历所有文件夹
      返回:
      返回目录下的所有文件
      抛出:
      IOException - 抛出IO异常
    • isSymlink

      public static boolean isSymlink(File file) throws IOException
      检测是否是目录、而不是软连接
      参数:
      file - 目录或文件
      返回:
      返回是否是软连接
      抛出:
      IOException - 抛出IO异常
    • reNameFile

      public static void reNameFile(Map<String,String> pathMap)
      文件批量重命名
      参数:
      pathMap - 文件路径映射(键为源文件路径,值为新文件名字)
    • reNameFile

      public static void reNameFile(String path, String newName)
      文件重命名
      参数:
      path - 文件路径
      newName - 新文件名字
    • reNameFile

      public static void reNameFile(File file, String newName)
      文件重命名
      参数:
      file - 文件
      newName - 新文件名字