文件操作工具类(FileUtils)

使用 apache 的commons-io包下的FileUtils,import org.apache.commons.io.FileUtils;

下载地址:http://commons.apache.org/proper/commons-io/download_io.cgi

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

静态方法可以直接使用类名使用

maven 创建的java工程,导入依赖

    <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency>

一、拷贝文件

static void copyFile(File srcFile, File destFile)

Copies a file to a new location preserving the file date.

static void copyFile(File srcFile, File destFile, boolean preserveFileDate)

Copies a file to a new location.

static long copyFile(File input, OutputStream output)

Copy bytes from a File to an OutputStream.

static void copyFileToDirectory(File srcFile, File destDir)

Copies a file to a directory preserving the file date.

static void copyFileToDirectory(File srcFile, File destDir, boolean preserveFileDate)

Copies a file to a directory optionally preserving the file date.

static void copyInputStreamToFile(InputStream source, File destination)

Copies bytes from an InputStream source to a file destination.

static void copyToDirectory(File src, File destDir)

Copies a file or directory to within another directory preserving the file dates.

static void copyToDirectory(Iterable<File> srcs, File destDir)

Copies a files to a directory preserving each file's date.

static void copyToFile(InputStream source, File destination)

Copies bytes from an InputStream source to a file destination.

static void copyURLToFile(URL source, File destination)

Copies bytes from the URL source to a file destination.

static void copyURLToFile(URL source, File destination, int connectionTimeout, int readTimeout)

Copies bytes from the URL source to a file destination.

1)拷贝文件到文件:copyFile(File srcFile, File destFile)

     File file = new File("E:\\java\\file01\\abc雪.jpg");String destFilePath = "E:\\java\\file02";String destFileName = "abc雪02.jpg";try {FileUtils fileUtils = new FileUtils();//文件拷贝到新的位置并保存文件的日期。fileUtils.copyFile(file, new File(destFilePath,destFileName));System.out.println("文件拷贝成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}

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

String destFileName = "abc雪03.jpg";
//从文件copy to an字节输出流。
FileUtils.copyFile(file, new FileOutputStream(new File(destFilePath,destFileName)));

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

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

//拷贝文件到文件的目录保持文件的日期。
FileUtils.copyFileToDirectory(file, new File(destFilePath));

二、拷贝目录及文件

static void copyDirectory(File srcDir, File destDir)

Copies a whole directory to a new location preserving the file dates.

static void copyDirectory(File srcDir, File destDir, boolean preserveFileDate)

Copies a whole directory to a new location.

static void copyDirectory(File srcDir, File destDir, FileFilter filter)

Copies a filtered directory to a new location preserving the file dates.

static void copyDirectory(File srcDir, File destDir, FileFilter filter, boolean preserveFileDate)

Copies a filtered directory to a new location.

static void copyDirectoryToDirectory(File srcDir, File destDir)

Copies a directory to within another directory preserving the file dates.

1)将整个目录拷贝到新位置,并保持原文件日期:copyDirectory(File srcDir, File destDir)

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

     File file = new File("E:\\java\\file01");String destFilePath = "E:\\java\\file03";try {//将整个目录复制新位置,并保持原文件日期。FileUtils.copyDirectory(file, new File(destFilePath));System.out.println("文件目录拷贝成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}

2)将已筛选的目录拷贝的新位置:copyDirectory(File srcDir, File destDir, FileFilter filter)

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

String destFilePath = "E:\\java\\file04";
//将已筛选的目录复制,并保持原文件日期的新位置。
FileUtils.copyDirectory(file, new File(destFilePath), new FileFilter() {@Overridepublic boolean accept(File pathname) {if(pathname.isDirectory()) return true;else {boolean b1 = pathname.getName().endsWith(".txt");boolean b2 = pathname.getName().endsWith(".jpg");return b1 || b2;}}
});

三、删除目录及文件

static void deleteDirectory(File directory)

Deletes a directory recursively.

static boolean deleteQuietly(File file)

Deletes a file, never throwing an exception.

static void forceDelete(File file)

Deletes a file.

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

File file = new File("E:\\java\\file04\\abc雪.jpg");
//删除指定文件,从不引发异常。
FileUtils.deleteQuietly(file);

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

     File file = new File("E:\\java\\file04\\abc雪.jpg");try {FileUtils.forceDelete(file);System.out.println("操作成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}

3)递归删除目录:deleteDirectory(File directory)

   删除其包含文件及子目录文件

     File file = new File("E:\\java\\file04\\abc雪.jpg");//递归删除目录。try {FileUtils.deleteDirectory(new File(destFilePath));System.out.println("操作成功");} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());}

四、清除目录:cleanDirectory(File directory)

static void cleanDirectory(File directory)

Cleans a directory without deleting it.

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

String destFilePath = "E:\\java\\file04";
try {FileUtils.cleanDirectory(new File(destFilePath));System.out.println("操作成功");
} catch (IOException e) {e.printStackTrace();System.out.println(e.getMessage());
}

其他方法查看API文档

FileUtils工具类常用方法相关推荐

  1. javaSE commons-io第三方插件, FileUtils工具类,复制文件夹、文件,写入/读取文件

    commons-io插件下载:https://pan.baidu.com/s/16-lyGR0KKp943pIOCYTVcg  密码:x1t9 在项目中导入classpath: 1.创建lib文件夹 ...

  2. 最简单的文件上传--FileUtils工具类

    (文件上传的方法各有不同,这里挑了一个最为简单实用的分享给大家,后续会更新其他版本的文件上传和下载功能) 一.前台页面准备 二.后台代码配合 public class FileUpload exten ...

  3. hbw-utils - guava基本数据类型工具类常用方法的整理

    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 正如标题第一个字段所写,我正在致力于开发一款全新的工具类.工具类应该是程序中最最基础.最最稳定的类,所以要开发有 ...

  4. Java实用类,包装类,日历类,日期类等工具类常用方法

    文章目录 第二章-实用类 1.枚举类型 2.包装类 3.包装类的常用方法 4.包装类的自动装箱和拆箱 5.String类 6.StringBuffer对象 String,StringBuffer,St ...

  5. FileUtils工具类详解

    FileUtils org.apache.commons.io.FileUtils 下载地址:commons-io Maven依赖 <dependency><groupId>c ...

  6. StringUtils 工具类常用方法汇总 1(判空、转换、移除、替换、反转)

    Apache commons lang3 包下的 StringUtils 工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的 ...

  7. StringUtils工具类常用方法

    StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字符串时使用StringUtils相比使用原生的String会更加安全. 一.判空 StringUtils提供常用的判断 ...

  8. FileUtils工具类的使用方法

    /** * FileUtils支持很多文件操作,如 * 文件写入 * 读取文件 * 创建目录 * 拷贝文件和目录 * 删除文件和目录 * 从URL转换 * 基于统配和过滤查看文件和目录 * 比较文件内 ...

  9. Java中Arrays工具类常用方法

    前言: 使用Arrays类记得导包!  import java.util.Arrays; 1.Arrays.toString(int [ ] arr); 将基本数据类型的数组转换成字符串.如byte ...

  10. JavaSE(字符流、IO资源的处理、属性集、ResourceBundle工具类、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包)

    JavaSE 字符流 字符输入流[Reader] 字符输入流Reader类的概述 字符输入流Reader类的常用方法 FileReader类 FileReader类的概述 FileReader类的构造 ...

最新文章

  1. python读写csv确定编码格式_Python使用utf8编码读写csv文件
  2. [原创]TimeQuest约束外设之诡异的Create Generated Clocks用法
  3. 杭州线下|2019产品经理年终轰趴
  4. Linux man命令后的参数释义
  5. shell启动oracle客户端,Shell实现的Oracle启动脚本分享
  6. SpringMVC @ModelAttribute注解
  7. Spring AOP介绍
  8. 分布式任务队列:Celery使用记录
  9. Appfuse:扩展自己的GenericManager
  10. 029——VUE中键盘语义修饰符
  11. map转换成JSON的方法
  12. LoRa开发|LoRa模组AT指令开发
  13. WIN7去掉快捷方式小箭头
  14. 汇编语言(第四版)(个人复习点)
  15. 记一次github 翻车事件
  16. 拼多多员工因匿名发贴被辞退,拼多多最新回应
  17. java ee框架技术进阶式教程_《JavaEE框架技术进阶式教程》新版任务式教案
  18. 【原创】更相减损术 stein算法 欧几里得算法 拓展欧几里得算法 扩展欧几里得算法 逆元的计算与筛法 解模线性方程
  19. 配置环境变量的方法:putenv和setenv函数区别
  20. Html5面试问题总结(精华)

热门文章

  1. 能源路由器入门必读:面向能源互联网的架构和功能
  2. 按照 ASCII 码从小到大进行排序
  3. win10恢复经典开始菜单_打造个性化开始菜单,Win10 开始菜单任务栏美化增强软件...
  4. cadence allegro - 焊盘命名规则 -unfinished -unfinished-unfinished
  5. java+整合handwrite_cnn handwrite使用原生的TensorFlow进行预测
  6. Vue-cli3 ,js根据汉字或拼音模糊搜索功能,汉字支持同音字、多音字,支持首字母
  7. 图解详说pads2007安装全过程(经过验证)
  8. 模拟CMOS集成电路设计学习笔记(一)
  9. 自己动手写操作系统(高清图书+源代码)分享
  10. 计算机组成原理 精选习题集