00099_commons-IO
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的更多相关文章
- VS2015编译GEOS
下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...
- 高性能IO模型浅析
高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking ...
- 深究标准IO的缓存
前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了 ...
- [APUE]标准IO库(下)
一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...
- [APUE]标准IO库(上)
一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...
- [.NET] 利用 async & await 进行异步 IO 操作
利用 async & await 进行异步 IO 操作 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/6082673.html 序 上次,博主 ...
- [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化
KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...
- [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化
KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...
- Performance Monitor4:监控SQL Server的IO性能
SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...
- java.IO输入输出流:过滤流:buffer流和data流
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...
随机推荐
- 详解:Linux Chrony 设置服务器集群同步时间
导读: Chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,默认配置文件在 /etc/chrony.conf 它能保持系统时间与时间服务器(NTP)同步,让 ...
- 51nod 更难的矩阵取数问题 + 滚动数组优化
这里要求要走到终点再走回来,可以转化为两个人走. 那么我们可以先粗暴的设f[x1][y1][x2][y2]为第一个人走到(x1, y1), 第二个人走到(x2, y2)的最大价值. 那么这样空间会很大 ...
- StdTranslator - Translate PDMS to STD for STAAD.Pro
StdTranslator - Translate PDMS to STD for STAAD.Pro eryar@163.com STAAD.Pro是由美国世界著名的工程咨询和CAD软件开发公司—R ...
- amaze ui响应式辅助
amaze ui响应式辅助 响应式辅助 就是不同的显示屏幕,或者手机的横竖屏,你可以控制栏目的显影,还是挺有帮助的 视口大小 .am-[show|hide]-[sm|md|lg][-up|-down| ...
- Onvif开发之代码框架生成篇
看了前一篇的ONVIF的简单介绍应该对它的基本使用都有了一些基本的了解了吧!下面我讲一步分解向大家介绍下如何通过gsoap生成需要的代码,以及代码中需要注意的问题[基于Linux平台 C开发] 生成O ...
- 基于Linux平台的Openvas配置使用视频教学
常见的漏洞扫描工具有Openvas.LSAT.Nessus.X-scan.ShadowSecurityScanner和流光等,openvas是一款最全面的开源漏洞扫描工具,由于openvas安装比较困 ...
- 转 EL表达式
EL表达式 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java ...
- PS:切图
1.从psd中获取资源 2.基本了解 3.简单的图片操作和调整 4.对自己的审美提高一.界面设置: 1.新建设置:ctr+n; 预设:Web,大小Web(1920*1080) 背景:透明 2.移动工具 ...
- Vue中Mixins使用
mixins是一种分发Vue组件中可复用功能的一种灵活方式. mixins是一个JavaScript对象,可以包含组件中的任意选项,比如Vue实例中生命周期的各个钩子函数,也可以是data.compo ...
- 【Codeforces Round #426 (Div. 2) A】The Useless Toy
[Link]:http://codeforces.com/contest/834/problem/A [Description] [Solution] 开个大小为4的常量字符数组; +n然后余4,-n ...