溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在java中利用緩沖流復制文件

發(fā)布時間:2021-05-17 17:20:33 來源:億速云 閱讀:204 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關怎么在java中利用緩沖流復制文件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

[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中利用緩沖流復制文件

Java是什么

Java是一門面向對象編程語言,可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序。

以上就是怎么在java中利用緩沖流復制文件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI