您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么在java中利用緩沖流復制文件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
[1] 程序設計
/*------------------------------- 1.緩沖流是一種處理流,用來加快節點流對文件操作的速度 2.BufferedInputStream:輸入緩沖流 3.BufferedOutputStream:輸出緩沖流 4.在正常的Java開發中都使用緩沖流來處理文件,因為這樣可以提高文件處理的效率 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(); //獲取復制前的系統時間 copy(src, dst); long endTime = System.currentTimeMillis(); //獲取復制后的系統時間 System.out.println("spend time: " + (endTime-startTime) ); //輸出復制需要的時間,毫秒計 } //定義一個用于復制文件的靜態方法,參數src代表源文件路徑,參數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 { //創建相應的節點流,將文件對象作為形參傳遞給節點流的構造器 FileInputStream fis = new FileInputStream(fileIN); FileOutputStream fos = new FileOutputStream(fileOUT); //創建相應的緩沖流,將節點流對象作為形參傳遞給緩沖流的構造器 bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(fos); //具體的文件復制操作 byte[] b = new byte[65536]; //把從輸入文件讀取到的數據存入該數組 int len; //記錄每次讀取數據并存入數組中后的返回值,代表讀取到的字節數,最大值為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應用程序、分布式系統和嵌入式系統應用程序。
以上就是怎么在java中利用緩沖流復制文件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。