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使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...
随机推荐
- nginx编译安装选项说明
configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法.然后,它创建 Makefile 文件. configure 支持下面的选项: –prefix= <path ...
- CentOS yum安装mcrypt详细图解教程
CentOS yum安装mcrypt详细图解教程 在Linux的发行版CentOS 6.3 系统下,LAMP(Linux+Apache+Mysql+php)环境搭建好后发现PHPMyadmin提示 “ ...
- IDEA 官方教程
https://www.jetbrains.com/help/idea/discover-intellij-idea.html#UserInterface
- CF 246 div2 D Prefixes and Suffixes (全部前缀的出现次数)
题目链接:http://codeforces.com/contest/432/problem/D 题意:对一个长度不超过10^5的字符串.按长度输出和后缀全然匹配的的前缀的长度,及该前缀在整个串中出现 ...
- 【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸
以下利用一个app来说明怎样利用自己定义View的重绘实现拖动移动.获取组件的尺寸. 例如以下图,触摸拖动,或者轻轻点击屏幕都能移动图片.假设碰到文字,则会弹出提示. 这里是利用自己定义View的重绘 ...
- 归并排序_分治算法 (白书P226)
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int a ...
- 关于SQL分页存储过程的分析
建 立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅 ...
- javafx progressbar
import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans ...
- 51Nod 1006 最长公共子序列Lcs问题 模板题
给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdkscab ab是两个串的子序列,abc也是,abca也是,其中abca是这两个 ...
- 体验域名注册解析与SSL证书