1. 程式人生 > 實用技巧 >閱讀筆記(jdk-8u251-docs-all)1-位元組流(Byte Stream)

閱讀筆記(jdk-8u251-docs-all)1-位元組流(Byte Stream)

程式使用位元組流來執行位元組(1byte=8bit)的輸入和輸出。所有位元組流的類都繼承於InputStream和OutputStream這兩個類。

以常用的FileInputStream和FileOutputStream為例,例子來源於jdk文件

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public
class CopyBytes { public static void main(String[] argss) throws IOException { FileInputStream in
= null; FileOutputStream out = null; try { in = new FileInputStream("E:\\Documents\\Java\\eclipse-workspace\\JavaTutorial\\src\\in.txt"); // 照搬原來的例子報錯,需要建立檔案(沒有會報錯)後輸入系統檔案中的絕對路徑 out = new FileOutputStream("E:\\Documents\\Java\\eclipse-workspace\\JavaTutorial\\src\\out.txt"); // 不存在時會自己生成一個
int c; while ((c = in.read()) != -1) { // 這裡是一個位元組一個位元組進行讀寫 out.write(c); } } finally { if (in != null) { // 在檔案不存在或檔案因某些原因無法讀取時,會丟擲錯誤,此時in仍然指向null,所以這裡要檢察一下 in.close(); } if (out != null) { // 類似的原因,防止out仍然指向null時,卻呼叫close方法 out.close(); } } System.out.print(
"We success!!"); } }

位元組流是其它IO流的基礎,但是像文字檔案這樣的,要避免使用位元組流,而使用字元流。