练习 2017-8-14 使用缓存字节流 和 字节流 拷贝性能对比。
来源:互联网 发布:郑州大学软件技术学院 编辑:程序博客网 时间:2024/06/11 05:39
package buffered;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
//各种拷贝方式时间比较
public class CopyTimeCompareDemo {
public static void main(String[] args) throws Exception {
File SrcFile = new File("process/srcFile.avi");
File destFile = new File("process_copy/destFile.avi");
//test1(SrcFile,destFile);
//test2(SrcFile,destFile);
//test3(SrcFile,destFile);
test4(SrcFile,destFile);
}
//使用缓冲字节流,每次拷贝1024个字节 时间:12ms
private static void test4(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(destFile));
byte[] buffer = new byte[1024];
int len = -1;
while((len =in.read(buffer)) != -1){
out.write(buffer,0,len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
//使用缓冲字节流,每次拷贝1个字节 时间:116ms
private static void test3(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(destFile));
int len = -1;
while((len =in.read()) != -1){
out.write(len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
//使用字节流,每次拷贝1024个字节 时间:41ms
private static void test2(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
InputStream in = new FileInputStream(srcFile);
OutputStream out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
int len = -1;
while((len =in.read(buffer)) != -1){
out.write(buffer,0,len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
//使用字节流,每次拷贝一个字节 时间:25368ms
private static void test1(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
InputStream in = new FileInputStream(srcFile);
OutputStream out = new FileOutputStream(destFile);
int len = -1;
while((len =in.read()) != -1){
out.write(len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
//各种拷贝方式时间比较
public class CopyTimeCompareDemo {
public static void main(String[] args) throws Exception {
File SrcFile = new File("process/srcFile.avi");
File destFile = new File("process_copy/destFile.avi");
//test1(SrcFile,destFile);
//test2(SrcFile,destFile);
//test3(SrcFile,destFile);
test4(SrcFile,destFile);
}
//使用缓冲字节流,每次拷贝1024个字节 时间:12ms
private static void test4(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(destFile));
byte[] buffer = new byte[1024];
int len = -1;
while((len =in.read(buffer)) != -1){
out.write(buffer,0,len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
//使用缓冲字节流,每次拷贝1个字节 时间:116ms
private static void test3(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(destFile));
int len = -1;
while((len =in.read()) != -1){
out.write(len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
//使用字节流,每次拷贝1024个字节 时间:41ms
private static void test2(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
InputStream in = new FileInputStream(srcFile);
OutputStream out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
int len = -1;
while((len =in.read(buffer)) != -1){
out.write(buffer,0,len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
//使用字节流,每次拷贝一个字节 时间:25368ms
private static void test1(File srcFile, File destFile) throws Exception {
long time = System.currentTimeMillis();
InputStream in = new FileInputStream(srcFile);
OutputStream out = new FileOutputStream(destFile);
int len = -1;
while((len =in.read()) != -1){
out.write(len);
}
in.close();
out.close();
System.out.println(System.currentTimeMillis() - time);
}
}
阅读全文
0 0
- 练习 2017-8-14 使用缓存字节流 和 字节流 拷贝性能对比。
- 使用字节流及缓存字节流读取、写入和拷贝文件
- 使用缓冲输入输出字节流拷贝图片
- 使用高效字节流拷贝文件夹
- java使用标准字节流拷贝文件
- 使用字节流实现图片的拷贝
- 字节流/双缓存/单缓冲读取文件速率对比
- Java测试字节流和字符流,以及带缓存的字符流读取速度对比
- 练习 2017-8-14 缓冲字节/字符 输入/输出 流~ 字符的编码和解码
- 字节流ByteArrayInputStream和ByteArrayOutputStream的练习
- 字节流(拷贝图片)
- 文件字节流--拷贝文件夹
- 练习 2017-08-14 转换流 字节流转字符流
- java文件流——使用字节流拷贝文件
- 编写一个程序,分别使用字节流和字符流拷贝一个文本文件
- 使用java的IO字节流拷贝图片
- 使用不同方法拷贝字节流文件的速度测试
- Java例程练习(字节流)
- java数据结构与算法-有序数组二分查找
- 配置MySQL以及本地和远程访问数据库
- 使用Jpeglib
- C#目录树控件
- Maven 添加本地jar包
- 练习 2017-8-14 使用缓存字节流 和 字节流 拷贝性能对比。
- 查看当前应用cpu和内存使用情况
- 【Unity】【Code】【UI】通用代码库(二)——UI跟随GameProject移动
- 【NOIP模拟考三】DP+组合数 day1 third 小球游戏
- IOS逆向--Safe mode
- 关于javac不是内部和外部命令原因
- 相关优质项目
- javascript高级程序设计第三版 第三章 基本概念
- hdu6114Chess(组合数取余,逆元)