本篇文章給大家分享的是有關怎么在java中利用緩沖流復制文件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鶴慶網站建設、鶴慶做網站、鶴慶網站設計、鶴慶網站制作等企業(yè)網站建設、網頁設計與制作、鶴慶企業(yè)網站模板建站服務,10多年鶴慶做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
[1] 程序設計
/*------------------------------- 1.緩沖流是一種處理流,用來加快節(jié)點流對文件操作的速度 2.BufferedInputStream:輸入緩沖流 3.BufferedOutputStream:輸出緩沖流 4.在正常的Java開發(fā)中都使用緩沖流來處理文件,因為這樣可以提高文件處理的效率 5.這里設計程序:使用緩沖流復制一個較大的視頻文件 --------------------------------*/ package pack04; import java.io.*; public class CopyFile { public static void main(String[] args) { String src = "d:/TEST/加勒比海盜-黑珍珠號的詛咒.rmvb"; //源文件路徑,該文件大小為3.01GB String dst = "d:/TEST/加勒比海盜-黑珍珠號的詛咒-Java復制.rmvb"; //目標文件路徑 long startTime = System.currentTimeMillis(); //獲取復制前的系統(tǒng)時間 copy(src, dst); long endTime = System.currentTimeMillis(); //獲取復制后的系統(tǒng)時間 System.out.println("spend time: " + (endTime-startTime) ); //輸出復制需要的時間,毫秒計 } //定義一個用于復制文件的靜態(tài)方法,參數(shù)src代表源文件路徑,參數(shù)dst代表目標文件路徑 public static void copy(String src, String dst) { //提供需要讀入和寫入的文件 File fileIN = new File(src); File fileOUT = new File(dst); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { //創(chuàng)建相應的節(jié)點流,將文件對象作為形參傳遞給節(jié)點流的構造器 FileInputStream fis = new FileInputStream(fileIN); FileOutputStream fos = new FileOutputStream(fileOUT); //創(chuàng)建相應的緩沖流,將節(jié)點流對象作為形參傳遞給緩沖流的構造器 bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(fos); //具體的文件復制操作 byte[] b = new byte[65536]; //把從輸入文件讀取到的數(shù)據(jù)存入該數(shù)組 int len; //記錄每次讀取數(shù)據(jù)并存入數(shù)組中后的返回值,代表讀取到的字節(jié)數(shù),最大值為b.length;當輸入文件被讀取完后返回-1 while( (len=bis.read(b)) != -1 ) { bos.write(b, 0, len); bos.flush(); } } catch(IOException e) { e.printStackTrace(); } finally { //關閉流,遵循先開后關原則(這里只需要關閉緩沖流即可) try { bos.close(); } catch (IOException e) { e.printStackTrace(); } try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } } }
[2] 測試結果
Java是一門面向對象編程語言,可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序。
以上就是怎么在java中利用緩沖流復制文件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。