1、导入classpath

  (1)加入classpath的第三方jar包内的class文件才能在项目中使用;

  (2)创建lib文件夹;

  (3)将commons-io.jar拷贝到lib文件夹;

  (4)右键点击commons-io.jar,Build Path→Add to Build Path。

  commons-io-2.4.zip下载链接:commons-io-2.4.zip密码:hczn

2、FilenameUtils

  (1)这个工具类是用来处理文件名(包含文件路径)的,它可以轻松解决不同操作系统文件名称规范不同的问题;

  (2)常用方法

    ①getExtension(String path):获取文件的扩展名;

    ②getName():获取文件名;

    ③isExtension(String fileName,String ext):判断fileName是否是ext后缀名;
3、FileUtils

  (1)提供文件操作(移动文件,读取文件,检查文件是否存在等等)的方法;

  (2)常用方法

    ①readFileToString(File file):读取文件内容,并返回一个String;

    ②writeStringToFile(File file,String content):将内容content写入到file中;

    ③copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制;

    ④copyFile(File srcFile,File destFile);文件夹复制。

  

  (3)代码演示

    ①完成文件的复制,测试视频链接:测试视频 密码:jhsi

 import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; import org.apache.commons.io.FileUtils; /*
* 完成文件的复制
*/
public class CommonsIODemo01 {
public static void main(String[] args) throws IOException {
// method1("D:\\test.mp4", "D:\\copy.mp4"); // 通过Commons-IO完成了文件复制的功能
FileUtils.copyFile(new File("D:\\test.mp4"), new File("D:\\copy.mp4"));
} // 文件的复制
private static void method1(String src, String dest) throws IOException {
// 1,指定数据源
BufferedInputStream in = new BufferedInputStream(new FileInputStream(
src));
// 2,指定目的地
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(dest));
// 3,读
byte[] buffer = new byte[1024];
int len = -1;
while ((len = in.read(buffer)) != -1) {
// 4,写
out.write(buffer, 0, len);
}
// 5,关闭流
in.close();
out.close();
}
}

    ②完成文件、文件夹的复制,测试视频链接:测试视频 密码:jhsi

 import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils; /*
* 完成文件、文件夹的复制
*/
public class CommonsIODemo02 {
public static void main(String[] args) throws IOException {
// 通过Commons-IO完成了文件复制的功能
FileUtils.copyFile(new File("D:\\test.mp4"), new File("D:\\copy.mp4")); // 通过Commons-IO完成了文件夹复制的功能
// 把old文件夹以及old文件夹下的test.mp4文件复制到new文件夹,复制后test.mp4的路径是D:\Java\new\old
FileUtils.copyDirectoryToDirectory(new File("D:\\Java\\old"), new File(
"D:\\Java\\new"));
}
}

  

00099_commons-IO的更多相关文章

  1. VS2015编译GEOS

    下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...

  2. 高性能IO模型浅析

    高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking  ...

  3. 深究标准IO的缓存

    前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了 ...

  4. [APUE]标准IO库(下)

    一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...

  5. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

  6. [.NET] 利用 async & await 进行异步 IO 操作

    利用 async & await 进行异步 IO 操作 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6082673.html  序 上次,博主 ...

  7. [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化

    KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...

  8. [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化

    KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...

  9. Performance Monitor4:监控SQL Server的IO性能

    SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...

  10. java.IO输入输出流:过滤流:buffer流和data流

    java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...

随机推荐

  1. Dcloud+mui 压缩上传图片到服务器

    chooseImgFromAlbums选择图片 chooseImgFromPictures 拍照 changeToLocalUrl 转换成可用的路径 uploadpic.compressImg 压缩图 ...

  2. CSUOJ 1532 JuQueen

    Problem H JuQueen JuQueen is the super computer with the best performance allover Germany. It is on ...

  3. Android照片墙完整版,完美结合 内存方案 LruCache 和 硬盘方案 DiskLruCache

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/34093441 在上一篇文章当中,我们学习了DiskLruCache的概念和基本用法 ...

  4. 关于EM的理解

    任意浏览器的默认字体高度16px(16像素). 所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的 ...

  5. 分享一个js加密的几种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Oracle新建表字段,如何使字段自增

    oracle的自增需要依靠序列和触发器共同实现 比如 新建一张表 create table test (id int primary key, name varchar2(10));   创建一个序列 ...

  7. LuoguP4016 负载平衡问题(费用流)

    题目描述 G 公司有 n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 n 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运. 输入输出格式 输入格式: ...

  8. POJ——T 2796 Feel Good

    http://poj.org/problem?id=2796 Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 15375   ...

  9. DataGridView控件绑定数据源

    前言: 近期听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了 ...

  10. hive load文件第一个字段为NULL

    在hive中,通常须要载入外部数据源.load文件时.第一个字段会出现NULL. 比如: 1.运行load语句: LOAD DATA LOCAL INPATH 'test.txt' OVERWRITE ...