类 JtlwFileOptionUtils

java.lang.Object
javabase.lorenwang.tools.file.JtlwFileOptionUtils

public class JtlwFileOptionUtils
extends Object
功能作用:文件操作工具类 创建时间:2019-01-28 下午 20:19:47 创建人:王亮(Loren wang) 思路: 方法:1、读取图片文件并获取字节 2、从指定路径的文件中读取Bytes 3、从File中读取Bytes 4、从InputStream中读取Bytes 5、将InputStream写入File 6、将文本写入文件 7、将文本写入文件,同时决定是否为追加写入 8、复制单个文件 9、删除文件 10、获取文件大小,单位B 11、删除文件夹以及目录下的文件 12、获取绝对路径下最后一个文件夹名称 13、根据正则获取指定目录下的所有文件列表(使用递归扫描方式) 14、根据正则获取指定目录下的所有文件列表(使用队列扫描方式) 15、格式化文件大小 16、创建文件夹 文件夹复制(copyFileDir)

注意: 修改人: 修改时间: 备注:

  • 构造器详细资料

    • JtlwFileOptionUtils

      public JtlwFileOptionUtils()
  • 方法详细资料

    • getInstance

      public static JtlwFileOptionUtils getInstance()
    • readImageFileGetBytes

      public byte[] readImageFileGetBytes​(Boolean isCheckFile, String filePath)
      读取图片文件并获取字节
      参数:
      isCheckFile - 是否检查文件
      filePath - 文件地址
      返回:
      文件字节
    • readBytes

      public byte[] readBytes​(String path)
      从指定路径的文件中读取Bytes
      参数:
      path - 要读物的文件路径
      返回:
      读取后的文件字节数组,不会为空
    • readBytes

      public byte[] readBytes​(File file)
      从File中读取Bytes
      参数:
      file - 要读物的文件
      返回:
      读取后的文件字节数组,不会为空
    • readBytes

      public byte[] readBytes​(InputStream inputStream)
      从InputStream中读取Bytes
      参数:
      inputStream - 文件读取数据流
      返回:
      读取后的文件字节数组,不会为空
    • writeToFile

      public Boolean writeToFile​(File file, InputStream inputStream, boolean append)
      将InputStream写入File
      参数:
      file - 要写入的文件
      inputStream - 写入文件流
      append - 是否将数据内容拼接到最后
      返回:
      读取后的文件字节数组,不会为空
    • writeToFile

      public boolean writeToFile​(File file, String text)
      将文本写入文件
      参数:
      file - 要写入的目标文件
      text - 要写入的内容文本
      返回:
      返回写入是否成功,成功为true
    • writeToFile

      public Boolean writeToFile​(File file, String text, String encoding, boolean append)
      将文本写入文件,同时决定是否为追加写入
      参数:
      file - 要写入的目标文件
      text - 要写入的内容文本
      encoding - 写入内容编码
      append - 是否追加写入
      返回:
      返回写入是否成功,成功为true
    • writeToFile

      public boolean writeToFile​(File file, byte[] buffer)
      将byte数组写入文件
      参数:
      file - 文件
      buffer - 要存入的数组
      返回:
      写入结果
    • writeToFile

      public boolean writeToFile​(File file, byte[] buffer, boolean append)
      将byte数组写入文件,是否追加
      参数:
      file - 文件
      buffer - 要存入的数组
      append - 是否追加
      返回:
      写入结果
    • paramsFileSize

      public String paramsFileSize​(Long fileSize)
      格式化文件大小
      参数:
      fileSize - 文件大小
      返回:
      文件大小
    • copyFile

      public Boolean copyFile​(String oldPath, String newPath)
      复制单个文件
      参数:
      oldPath - String 原文件路径 如:c:/fqf.txt
      newPath - String 复制后路径 如:f:/fqf.txt
      返回:
      boolean
    • copyFileDir

      public boolean copyFileDir​(String oldPath, String newPath)
      文件夹复制
      参数:
      oldPath - 旧文件夹,如果是文件的话则直接变成文件复制
      newPath - 新文件夹
      返回:
      复制结果,有一个失败就是失败
    • compressToZip

      public boolean compressToZip​(@NotNull @NotNull String sourcePath, @NotNull @NotNull String outPutPath)
      压缩文件夹
      参数:
      sourcePath - 要被压缩的文件夹路径
      outPutPath - 输出的文件夹路径,包含.zip后缀名
      返回:
      压缩结果
    • deleteFile

      public boolean deleteFile​(String path)
      删除文件
      参数:
      path - 要删除的文件路径、
      返回:
      删除结果
    • getFileSize

      public Long getFileSize​(File file, String filtrationDir)
      获取文件大小,单位B
      参数:
      file - 文件地址
      filtrationDir - 过滤的地址
      返回:
      文件大小
    • deleteDirectory

      public Boolean deleteDirectory​(String filePath)
      删除文件夹以及目录下的文件
      参数:
      filePath - 被删除目录的文件路径
      返回:
      目录删除成功返回true,否则返回false
    • getLastDirectoryName

      public String getLastDirectoryName​(String absolutePath)
      获取绝对路径下最后一个文件夹名称
      参数:
      absolutePath - 文件夹绝对路径
      返回:
      文件名称
    • createDirectory

      public boolean createDirectory​(String path, boolean nowPathIsFile)
      创建文件夹
      参数:
      path - 文件路径
      nowPathIsFile - 当前地址代表的是否是文件
      返回:
      创建结果
    • getFileListForMatchRecursionScan

      public List<File> getFileListForMatchRecursionScan​(String scanPath, String matchRegular)
      根据正则获取指定目录下的所有文件列表(使用递归扫描方式)
      参数:
      scanPath - 要扫描的问题件路径
      matchRegular - 文件正则
      返回:
      文件列表
    • getFileListForMatchLinkedQueueScan

      public List<File> getFileListForMatchLinkedQueueScan​(String scanPath, String matchRegular)
      根据正则获取指定目录下的所有文件列表(使用队列扫描方式)
      参数:
      scanPath - 要扫描的文件路径
      matchRegular - 要返回的文件的正则格式
      返回:
      扫描到的文件列表
    • clearEmptyFileDir

      public void clearEmptyFileDir​(String dirPath)
      清理指定文件夹下所有的空文件夹
      参数:
      dirPath - 目标文件夹
    • getFileType

      public JtlwFileTypeEnum getFileType​(String filePath)
      获取文件类型
      参数:
      filePath - 文件路径
      返回:
      文件类型
    • getFileType

      public JtlwFileTypeEnum getFileType​(InputStream inputStream)
      获取文件类型
      参数:
      inputStream - 输入流
      返回:
      返回类型
    • getFileCodedFormat

      public Charset getFileCodedFormat​(String filePath)
      获取文件编码格式
      参数:
      filePath - 文件地址
      返回:
      编码格式
    • changeFileCodedFormat

      public boolean changeFileCodedFormat​(String filePath, Charset oldCodedFormat, Charset newCodedFormat)
      修改文件编码格式
      参数:
      filePath - 文件地址
      oldCodedFormat - 旧文件编码格式
      newCodedFormat - 新文件的编码格式
      返回:
      是否成功,成功返回true
    • readFileContent

      public String readFileContent​(String filePath, Charset codedFormat)
      以指定编码方式读取文件,返回文件内容
      参数:
      filePath - 要转换的文件
      codedFormat - 源文件的编码
      返回:
      文件内容
    • writeFilContent

      public boolean writeFilContent​(String filePath, Charset toCharsetName, String content)
      以指定编码方式写文本文件,存在会覆盖
      参数:
      filePath - 要写入的文件
      toCharsetName - 要转换的编码
      content - 文件内容
      返回:
      是否成功
    • getDocType

      public List<JtlwFileTypeEnum> getDocType()
      获取所有文档相关类型
      返回:
      返回相应的文档类型集合
    • getImageType

      public List<JtlwFileTypeEnum> getImageType()
      获取所有图片的相关类型
      返回:
      所有图片相关类型
    • renameFile

      public boolean renameFile​(File oldFile, String newFileName)
      重命名文件
      参数:
      oldFile - 旧文件
      newFileName - 新文件名称
      返回:
      重命名结果