博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java通过IO流复制文件
阅读量:5947 次
发布时间:2019-06-19

本文共 2929 字,大约阅读时间需要 9 分钟。

package kimoji;

import java.io.*;

public class FileTest {

public static void main(String[] args) throws IOException {

out1("D:\\ppt\\Oracle_SQL基礎知識.ppt", "aaa.ppt");
out2("D:\\ppt\\Oracle_SQL基礎知識.ppt", "aaa1.ppt");
out3("D:\\ppt\\Oracle_SQL基礎知識.ppt", "aaa11.ppt");
out4("D:\\ppt\\Oracle_SQL基礎知識.ppt", "aaa111.ppt");

 

/*if (file.exists() && file.isDirectory()) {
String names[] = file.list();
for (String name : names) {
System.out.println(name);
}
System.out.println("000000000000000000000000000000000000000000000000000000000000000000000000");
String[] nameNei = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".java");
}
});
for (String string : nameNei) {
System.out.println(string);
}
}*/

 

}
/**
* 一次读取一个字节
* @param src1 :读取路径
* @param src2 :写入路径
* @throws IOException
*/
public static void out1(String src1,String src2) throws IOException{
FileInputStream fileInputStream = new FileInputStream(src1);
FileOutputStream fOutputStream = new FileOutputStream(src2);
int len = -1;
Long star = System.currentTimeMillis();
while((len = fileInputStream.read())!=-1){
fOutputStream.write(len);
}
long end = System.currentTimeMillis();
System.out.println("out1耗时为:"+(end-star)+"毫秒");
fileInputStream.close();
fOutputStream.close();
}
/**
* 一次读取一个字节数组
* @param str1:读取路径
* @param str2:写入路径
* @throws IOException
*/
public static void out2(String str1,String str2) throws IOException{
FileInputStream fis = new FileInputStream(str1);
FileOutputStream fos = new FileOutputStream(str2);
int len = -1;
byte temp [] = new byte[1024];
Long star = System.currentTimeMillis();
while((len = fis.read())!=-1){
fos.write(temp, 0, len);
}
long end = System.currentTimeMillis();
System.out.println("out2耗时为:"+(end-star)+"毫秒");
fis.close();
fos.close();
}
/**
* 带有缓冲区的一次读取一个字节
* @param src1 :读取路径
* @param src2 :写入路径
* @throws IOException
*/
public static void out3(String str1,String str2) throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(str1));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(str2));
int len = -1;
Long star = System.currentTimeMillis();
while((len=bis.read())!=-1){
bos.write(len);
}
Long end = System.currentTimeMillis();
System.out.println("out3共耗时"+(end-star)+"毫秒");
bis.close();
bos.close();
}
public static void out4(String str1,String str2) throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(str1));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(str2));
int len = -1;
byte [] temp = new byte[1024];
Long star = System.currentTimeMillis();
while((len = bis.read())!=-1){
bos.write(temp, 0, len);
}
Long end = System.currentTimeMillis();
System.out.println("out4共耗时"+(end-star)+"毫秒");
bis.close();
bos.close();
}
}

 

 

 用韵结果如下:

out1耗时为:6431毫秒

out2耗时为:6223毫秒
out3共耗时28毫秒
out4共耗时197毫秒

 

转载于:https://www.cnblogs.com/xiaopangyu/p/9268636.html

你可能感兴趣的文章
多媒体开发之rtmp---rtmp client 编译
查看>>
异常处理汇总 ~ 修正果带着你的Code飞奔吧!
查看>>
Java开发手冊 Java学习手冊教程(MtJava开发手冊)
查看>>
The Willpower Instinct
查看>>
注入复习总结
查看>>
OpenStack 部署总结之:单节点icehouse网桥的配置
查看>>
js---12数据类型,数据类型转换,NaN,
查看>>
C字符串处理函数
查看>>
超短reads(primer、barcode、UMI、index等)比对方法
查看>>
lua正则表达式如何匹配中文
查看>>
arcgis api for js热力图优化篇-不依赖地图服务
查看>>
php逻辑操作符中&和&&的异同
查看>>
Git 远程仓库(分布式版本控制系统)
查看>>
设计模式原则之里氏替换原则
查看>>
LeetCode: Longest Common Prefix 解题报告
查看>>
Multipart polyline to single part lines
查看>>
zeromq_传说中最快的消息队列
查看>>
ARM的栈指令
查看>>
两个tomcat一起启动
查看>>
javax.imageio.IIOException: Unsupported Image Type
查看>>