当前位置:网站首页 > 编程语言 > 正文

工具类(FileUtils文件工具类)



文件IO是我们日常项目中经常使用到的基础API,常见的IO读写操作基础类字节流InputStream与OutputStream、字符流Reader与Writer已经涵盖了我们日常项目开发中的常见API功能。具体的基础回顾可以参见一篇cdsn博文:字符流与字节流的区别

今天要说的,是我们基于上述API由Apache开源项目封装的一个更好用的文件操作工具类FileUtils,涵盖了读取文件、拷贝文件、拷贝目录及文件、删除目录及文件、清除目录等比较常用的静态类封装。

  FileUtils的使用需要引入apache的commons-io包下的FileUtils,导入:import org.apache.commons.io.FileUtils;

  官方API文档:http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html

  maven项目使用需要导入依赖:

下面简单介绍一下它常见的API方法的使用。

官方API中我觉得能使用到的就是下面的方法,都是静态方法,如readFileToString、readLines(按行读取)等,对应的静态方法也都提供了支持编码"utf-8"格式读取。

比较常用的API方法如下,如copyFile、copyInputStreamToFile、copyFileToDirectory。

拷贝文件到文件 ::

拷贝文件到字节输出流:copyFile(File input, OutputStream output)

拷贝文件到文件的目录保存文件的日期:copyFileToDirectory(File srcFile, File destDir)

拷贝的文件名无法自定义,和原文件名一样

主要的API如下,包含拷贝目录及目录下的子目录及文件的拷贝方法:

将整个目录拷贝到新位置,并保持原文件日期

其包含文件及子目录文件并保持原文件日期

将已筛选的目录拷贝到新位置

copyDirectory(File srcDir, File destDir, FileFilter filter)

文件过滤器筛选其包含文件及子目录文件拷贝,并保持原文件日期。

主要的删除API方法如下,常用的有deleteDirectory、deleteQuietly及forceDelete等,主要用于级联删除及强制删除,且不会引起异常。非常强力。

删除指定文件,从不引发异常:deleteQuietly(File file)

删除指定文件,文件不存在抛出异常:forceDelete(File file)

递归删除目录

其包含文件及子目录文件

主要的API如下,主要用于清除当前目录下(不会删除到当前目录级别)的文件夹及其包含的文件。

清除该目录下的文件及子目录文件而不删除该目录文件夹。该目录不存在会报错:

①EMPTY_FILE_ARRAY,空文件数组:

②1GB大小,分别对应long类型及BigInteger包装类型

③同理KB与MB的显示类型:

博文转载至CSDN博客:

FileUtils工具类常用方法

基于博主博文我自己做了一小部分的知识补充,也非常感谢博主提供博文分享学习知识的平台。

站在巨人的肩膀上,我们才能学到更多的知识~

到此这篇工具类(FileUtils文件工具类)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • m2nvme接口和sata接口区别(m2接口nvme和sata两种协议)2025-03-25 17:36:06
  • 虚拟u盘怎么打开(虚拟u盘的文件在哪里打开)2025-03-25 17:36:06
  • 查看k8s版本列表(查看k8s版本信息的命令是)2025-03-25 17:36:06
  • win32 ui(win32ui找不到)2025-03-25 17:36:06
  • apt换国内源(apt 源 配置 本地源)2025-03-25 17:36:06
  • 划词助手怎么用(安卓划词助手)2025-03-25 17:36:06
  • github 镜像网站(github镜像源)2025-03-25 17:36:06
  • 六位颜色代码查询(6位颜色代码)2025-03-25 17:36:06
  • bt601接口(bt601与bt709转换)2025-03-25 17:36:06
  • seated怎么读谐音(seat中文谐音怎么读)2025-03-25 17:36:06
  • 全屏图片