Class FileUtils

java.lang.Object
tech.riemann.nif.utils.FileUtils

public class FileUtils extends Object
文件工具类,提供文件操作相关的工具方法
Author:
Kerbores(kerbores@riemann.tech)
  • Constructor Details

    • FileUtils

      public FileUtils()
  • Method Details

    • clean

      public static boolean clean(File dir, String... names)
      清理指定目录下特定名称的文件夹和文件
      Parameters:
      dir - 目标目录
      names - 要删除的文件夹和文件的名称
      Returns:
      如果所有操作成功,则返回true;否则返回false
    • cleanAllFileInSubFolders

      public static void cleanAllFileInSubFolders(File dir, String name) throws IOException
      删除指定目录下所有子目录中的指定文件 此方法会递归遍历给定目录下的所有子目录,并删除名称匹配的文件
      Parameters:
      dir - 要清理的目录
      name - 要删除的文件名称
      Throws:
      IOException - 如果文件删除过程中发生错误
    • cleanSvn

      public static boolean cleanSvn(File dir)
      清除SVN 该方法专注于删除指定目录及其子目录中的所有SVN相关文件夹。 SVN(Subversion)是一个版本控制系统,.svn文件夹是它默认的工作副本的存储位置。 对于需要打包或分发的软件项目,清除这些文件夹可以减少不必要的文件和减小体积, 同时也方便了手动检查和管理项目。
      Parameters:
      dir - 待清除的目录
      Returns:
      清除成功状态标识
    • countJavaCodeLines

      public static long countJavaCodeLines(File file)
      统计文件或者目录下的java代码的行数
      Parameters:
      file - 文件或者目录
      Returns:
      java代码行数
    • getDirSize

      public static double getDirSize(File file)
      计算文件或文件夹的大小
      Parameters:
      file - 要计算大小的文件或文件夹
      Returns:
      文件或文件夹的大小,以字节为单位如果文件或文件夹不存在,则返回0.0
    • formatFileSize

      public static String formatFileSize(double length)
      转换文件大小
      Parameters:
      length - 文件长度
      Returns:
      文件大小字串描述
    • countLine

      public static long countLine(File file)
      计算文件行数
      Parameters:
      file - 文件(非目录类型)
      Returns:
      行数
    • countLines

      public static long countLines(File file, String suf)
      统计文件或者目录下的指定类型文件的行数
      Parameters:
      file - 文件或者目录
      suf - 扩展名
      Returns:
      行数
    • fastFindFile

      public static File fastFindFile(File dir, String name)
      快速查找文件(全等查询)
      Parameters:
      dir - 基目录
      name - 待查找文件名
      Returns:
      找到的文件,未找到返回null
    • fastFindFile

      public static File fastFindFile(File dir, String name, int method)
      快速查找文件
      Parameters:
      dir - 基目录
      name - 文件名
      method - 查找方法 1 全等查询 2 模糊查找 3 忽略大小写全等 4忽略大小写模糊
      Returns:
      找到的文件,未找到返回null
    • fastFindFile

      public static File fastFindFile(String dir, String name)
      在指定目录中快速查找指定名称的文件
      Parameters:
      dir - 目录的路径,用于指定查找的起始目录
      name - 文件的名称,用于指定要查找的文件名称
      Returns:
      返回找到的文件,如果没有找到则返回null 说明: 该方法提供了一个从指定目录开始,向下递归查找指定文件的能力 它使用一种优化的策略来尽快找到目标文件,而不是遍历所有文件 为什么需要这个方法: 在大规模的文件系统中,逐个遍历所有文件以查找目标文件可能非常耗时 通过某种策略快速定位到目标文件,可以提高开发效率和系统性能
    • fastFindFileLikeName

      public static File fastFindFileLikeName(File dir, String name)
      快速查找文件(模糊查找)
      Parameters:
      dir - 基目录
      name - 待查找文件名
      Returns:
      找到的文件,未找到返回null
    • findFile

      public static File findFile(File dir, String name)
      基本实现文件查找
      Parameters:
      dir - 查找的开始位置
      name - 查找的文件的名字
      Returns:
      找到的文件,未找到返回null