Java输入输出流复制文件所用时间对比

网友投稿 210 2023-07-10


Java输入输出流复制文件所用时间对比

废话不多说,关键代码如下所述:

package com.edu.xynu;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class IOUnitCopy {

//按字节

public static void copyByByte(File srcFile,File destFile) throws IOException{

FileInputStream fis=new FileInputStream(srcFile);

FileOutputStream fos=new FileOutputStream(destFile);

int i;

while((i=fis.read())!=-1){

fos.write(i);

}

fis.close();

fos.close();

}

//按字节数组

public static void copyByByteArray(File srcFile,File destFile) throws IOException{

FileInputStream fis=new FileInputStream(srcFile);

FileOutputStream fos=new FileOutputStream(destFile);

byte []buf=new byte[10*1024];

int i;

while((i=fis.read(buf, 0, buf.length))!=-1){

fos.write(buf, 0, i);

}

fis.close();

fos.close();

}

//字节缓冲流

public static void copyByBuff(File srcFile,File destFile) throws IOException{

BufferedInputStream bis=new BufferedInputStream(new FileInputStream(srcFile));

BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(destFile));

int i;

while((i=bis.read())!=-1){

bos.write(i);

}poHjY

bos.flush();

bis.close();

bos.close();

}

//字节数组批量读取 缓冲输出流写入

public static void copyByBuffArray(File spoHjYrcFile,File destFile) throws IOException{

FileInputStream bis=new FileInputStream(srcFile);

BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(destFile));

byte [] buf=new byte[10*1024];

int len;

while((len=bis.read(buf,0,buf.length))!=-1){

bos.write(buf,0,len);

}

bos.flush();

bis.close();

bos.close();

}

}

package com.edu.xynu;

import java.io.File;

import java.io.IOException;

public class IOUnitsCopyTest {

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

long start=System.currentTimeMillis();

// IOUnitCopy.copyByByte(new File("c:\\1.mp3"), new File(

// "c:\\2.mp3"));//90713ms

// IOUnitCopy.copyByByteArray(new File("c:\\1.mp3"), new File(

// "c:\\3.mp3"));//41ms

// IOUnitCopy.copyByBuff(new File("c:\\1.mp3"), new File(

// "c:\\4.mp3"));//556ms

// IOUnitCopy.copyByByteArray(new File("c:\\1.mp3"), new File(

// "c:\\5.mp3"));//30ms

long end=System.currentTimeMillis();

System.out.println(end-start);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

测试文件是


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Google 地图叠加层实例讲解
下一篇:Google 地图获取API Key详细教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~