步驟:
1.構造文件字節輸入輸出流
2.創建一個字節數組,用來指定每次復制的字節大小
3.輸入流從源文件讀取字節,輸出流將字節寫入文件
下面通過一段程序進行說明:
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class JavaIO { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream( "E:\\Download\\struts-2.3.1.2-all.zip"); FileOutputStream fos = new FileOutputStream("E:\\a.zip"); byte[] b = new byte[1024000]; int n; while ((n = fis.read(b)) != -1) { fos.write(b, 0, n); } fis.close(); fos.close(); } }
fis.read(b)的作用是從源文件最多讀取b.length字節的數據送給b數組,返回的是讀入的字節總數。
本例中b.length的長度指定為1024000,當最后一次不足1024000,例如只剩下5000字節時,返回的就是5000,此時所有字節讀取完畢。下一次讀入時由於已到達文件末尾,返回-1。
fos.write(b, 0, n)意思是將byte數組從偏移量0開始的n個字節寫入文件輸出流。
程序結束后記得要關閉輸入輸出流。