OutputStreamWriter \u662f character streams \u8f49\u63db\u81f3 byte strea ms 3 \u8003 \u8a66 \u6642 \u8acb \u591a \u6ce8\u610f

Outputstreamwriter 是 character streams 轉換至

This preview shows page 35 - 43 out of 68 pages.

OutputStreamWriter character streams 轉換至 byte strea ms 3. 注意 InputStreamReader OutputStreamWriter 宣告 方式 可。
Image of page 35
8-13 Console I/O PrintStream/PrintWr iter Java 提供了 種標準 I/O 模式 別是 1. System.in 標準輸入裝 standard input )是一個 InputStr eam 件, System.in 不可 單獨使 用,必須 含於 Inpu tStream 件中。 2. System.out 標 準 輸 出 裝 standard output ) 是 一 個 可 以 使 用 的 PrintStream 件。 3. System.err 標準顯示 錯誤 standard error )也是一個可 單獨使 用的 PrintStream 件。
Image of page 36
8-30 PrintStream System.in 預設資料來源裝置是鍵 盤( Keyboard ), System.out System.err 皆 屬 於 PrintStream 物件 , 其 預 設的 輸 出 裝 置是 螢 幕 ( print to terminal window )。
Image of page 37
擬實作 一個 例,讓程式可以 直接 取到 使 輸入( System.in )的 資料,並利用 PrintWriter() 的資料輸出( System.out 至螢幕 上。
Image of page 38
8-14 序列化 Serializable ObjectOutputStream ObjectInputStream 謂物 序列化就 將物 轉換 成一種連 性的 bytes 資料,用以 (存檔)或在網路 環境 中的 傳遞 (例如 RMI ),以便日 後能還原成 序列化 之前的 件狀 序列化 工作 相當的複 可以 放心 的是 Java 程式設計師 不需要 實作序列化 細節 ,只要在 欲序列化物 件的類別後面 宣告定義 implements Serializable 其他接踵而 來的繁複 工作 統一 由各 平台之 JVM 來處理。 不過在 實作 上要 注意 ,在 反序列化 的同時,當 必須要有 該序列化物 件的類別檔案。
Image of page 39
序列化物 ( ) :製作 一個整數連 加器 AddInt 件變成 序列化物 件,只需在 AddInt 類別 定義 加註 implements Serializable (如程式 3 行),且不必 實作 Serializable 的方 ,因為 Serializable interface 有提供 實作 abstract method
Image of page 40
8-14-2 序列化 transient transient modifier 過的 性, 其最 後的 值將 不會存 not survive )於 序列化 中。 序列化物 ( ) transient modifier Step 1 程式。 Step 2 執行 java SaverAddIntBean 注意! sum 字是 transien t ,因此 變數( 性) 不會 被序列化 ,所以 IntBean.ser 檔案中也不會 sum 後變 動值 Step 3 執行 java AddIntReadBean 後求 的結 0 ,因為 sum 被序列化 ,所以 到的只是 sum int 0 )。
Image of page 41