標籤:
1 package CopyFile; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 /** 9 * 實現檔案複製10 * @author Administrator11 *12 */13 public class CopyFile {14 public static void copyBytesFile(String sFileName,String dFileName) throws IOException{15 16 //建立檔案輸入資料流對象和檔案輸出資料流對象17 //檔案輸入資料流對象與源檔案關聯18 FileInputStream fis = new FileInputStream(sFileName);19 //檔案輸出資料流對象與目標檔案關聯20 FileOutputStream fos = new FileOutputStream(dFileName);21 //迴圈讀取檔案的內容,同時寫出到外部的磁碟檔案22 int read = fis.read();//從關聯的源檔案中讀一個位元組,如果到達檔案末,傳回值為-123 while(read != -1){24 fos.write(read);//向關聯的目標檔案寫出一個位元組25 read = fis.read();26 }27 //清空緩衝關閉流對象28 fis.close();29 fos.close();30 }31 32 public static void copyBytesFile2(String sFileName,String dFileName) throws IOException{33 34 //建立檔案輸入資料流對象和檔案輸出資料流對象35 //檔案輸入資料流對象與源檔案關聯36 FileInputStream fis = new FileInputStream(sFileName);37 //檔案輸出資料流對象與目標檔案關聯38 FileOutputStream fos = new FileOutputStream(dFileName);39 //迴圈讀取檔案的內容,同時寫出到外部的磁碟檔案40 byte[] b = new byte[1024];41 /*從關聯的源檔案中讀多個位元組,儲存到位元組數組b中,如果到達檔案末。42 * 傳回值為-1,否則傳回值為實際讀到的位元組數。43 */44 int read = fis.read(b);//從關聯的源檔案中讀一個位元組,如果到達檔案末,傳回值為-145 while(read != -1){46 fos.write(b);//向關聯的目標檔案寫出一個位元組47 read = fis.read(b);48 }49 //清空緩衝關閉流對象50 fis.close();51 fos.close();52 }53 /**54 * @param args55 */56 57 public static void main(String[] args) {58 // TODO Auto-generated method stub59 long t1,t2;60 t1 = System.currentTimeMillis();61 try {62 CopyFile.copyBytesFile2("a.mp3", "temp.mp3");63 } catch (IOException e) {64 // TODO Auto-generated catch block65 e.printStackTrace();66 }67 t2 = System.currentTimeMillis();68 System.out.println("用時:" + (t2 - t1));69 70 }71 72 }
用時對比:
期末作業規劃:
做一個類似下面的視頻播放器
實現功能:
播放本地視頻
播放/暫停
快進/快退
聲音調節
全屏
最小化/最大化/關閉
小組成員:郭強 程志鴻 王雨
JAVA學習筆記(四)