java文件复制速度_【Java】Java代码拷贝文件的速度
Java代碼拷貝文件的速度究竟有多快?
前言
最近學(xué)習(xí)Java到了流處理,其中有種流叫FileInputStream和FileOutputStream,簡(jiǎn)單來(lái)說(shuō),就是操作文件的,老師給我們示范了一個(gè)非常有趣的例子,用代碼拷貝文件!
一直以來(lái)我對(duì)代碼佩服的五體投地,覺得超級(jí)神奇,于是非常好奇Java代碼拷貝的速度有多快,做出了以下一個(gè)小測(cè)試哈哈哈。
補(bǔ)充方法二:其實(shí)這個(gè)稍作改進(jìn),還是挺快的。。。
視頻解說(shuō)
代碼
方法一:
package stream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 文件的拷貝
* @author Administrator
*
*/
public class Example04 {
public static void main(String[] args) throws Exception {
//創(chuàng)建一個(gè)字節(jié)輸入流,用于讀取source文件夾的文件
InputStream in = new FileInputStream("source\\1.png");
//創(chuàng)建一個(gè)字節(jié)輸出流,用于將讀取的數(shù)據(jù)寫入target文件夾的文件
OutputStream out = new FileOutputStream("target\\2.png");
//讀數(shù)據(jù)
int len;
long begintime = System.currentTimeMillis();
while( (len = in.read() )!=-1) {
out.write(len);
}
long endtime = System.currentTimeMillis();
System.out.println("拷貝文件所消耗的時(shí)間是: "+(endtime-begintime)+" 毫秒");
//關(guān)閉流
in.close();
out.close();
}
}
方法二:
package stream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 文件的拷貝(使用緩沖區(qū)拷貝文件)
* @author Administrator
*
*/
public class Example05 {
public static void main(String[] args) throws Exception {
//創(chuàng)建一個(gè)字節(jié)輸入流,讀取文件
InputStream in = new FileInputStream("source\\1.png");
//創(chuàng)建一個(gè)字節(jié)輸出流,保存文件
OutputStream out = new FileOutputStream("target\\2.png");
//讀數(shù)據(jù)
byte[] buff = new byte[1024];//定義字節(jié)數(shù)組,作成緩沖區(qū)
int len;//定義int類型的len,記住讀取讀入緩沖區(qū)的字節(jié)數(shù)
long begintime = System.currentTimeMillis();
while( (len = in.read(buff) ) != -1) {
//寫數(shù)據(jù)
out.write(buff, 0, len);//從第一個(gè)字節(jié)開始,向文件中寫入len個(gè)字節(jié)
}
long endtime = System.currentTimeMillis();
System.out.println("拷貝文件所消耗的時(shí)間是: "+(endtime-begintime)+" 毫秒");
//關(guān)閉流
in.close();
out.close();
}
}
總結(jié)
以上是生活随笔為你收集整理的java文件复制速度_【Java】Java代码拷贝文件的速度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java魔兽猎人_Java基于Swing
- 下一篇: java的传值调用什么_Java的传值调