
08
JAVA I/O
8-1
輸入/輸出( I/O )
8-2
File ( non-stream )
8-3
串流( stream )
8-4
FileInputStream 與 FileOutputStream
8-5
FileReader 與 FileWriter
8-6
Processing Streams
8-7
FilterInputStream 與 FilterOutputStrea
m
8-8
FilterReader 與 FilterWriter
8-9
DataInput 與 DataOutput 介面
8-10 Java I/O 資料串流鏈結
8-11 BufferedReader
與
BufferedWriter
8-12
資料編碼轉換–
InputStreamReader
與
OutputStreamWriter
8-13
Console
主控台
I/O
與
PrintStream / PrintWriter
8-14
物件序列化
Serializable–
ObjectOutputStream
與
ObjectInputStream
8-15
Java NIO.2
8-16
JDBC
與資料庫應用程式

java.io
套裝模組提供相當多的類別(
classes
)供程式設計師解決當前各種
I/O
的問題(當然也包括
Java SE 1.4
所提供的
java.nio.* New I/O
套
件)。資料
I/O
與通訊的新需求不斷浮現,程式庫中的類別也隨之改變。
J
DK 1.0
版程式庫中的類別原以
byte
為主,在
JDK 1.1
版之後增添了許多
以
char
和
Unicode
為主的類別。
這起因於網際網路盛行後,為了讓資料的來源端與目的端能互相跨越順暢地
通訊,
Unicode
的編碼方式便成為
Java
編碼的標準(
Java SE 5.0
支援
Unicode 4.0
),也因這項特性
Java
程式才能順利地在不同平台(
Window
s
、
Unix
或
Linux
)上撰寫與執行。
NOTE
Unicode
的每一個字元是以
16
個位元(
bits
)來表示,
ASCII
的每一個
字元則由
7
個位元來表示,由於
Unicode
編碼方式可編的字集數量較
多,才能應付 如中、日、韓等國字體繁複且字集較多的編碼需求。
JavaSE
5.0
開始支援
Unicode
4.0
(在此之前是支援
Unicode
3.0
),也
因此會有一些不能相容
16
bits
的字元(
char
)勢必要用
int
來表示。
U
nicode
的文件顯示格式稱之為
UTF
(
Unicode Text Format
)。

8-1
輸入/輸出(
I/O
)
程式設計師藉由輸入
/
輸出(
I/O
)可在程式執行過程中存取外部資
料(包含檔案、記憶體、網路連結
Socket
或
Console
等),且允
許有不同的來源端(
Source
)與目的端(
Sink
),
I/O
的目的便是
讓兩端之間能彼此溝通。
撰寫一個好的
I/O
系統程式並不容易,所涉及的技術與知識不只是
程式本身,還要考慮資料來源端與目的端的設備及通訊是否完備;各
種例外狀況的發生也讓程式設計師在開發時感到頭痛,除了程式的例
外處理,還必須對整體系統架構或網路系統做
全盤
了解。好在
java.i
o
類別提供了許多
函
式庫,為程式設計師
節省
了程式開發的時間,
使
資料
I/O
能順暢地
進
行。
節省
開發時間是相當
重
要的,
根據經驗
,
程式設計師
往往花費
許多時間在處理程式以外的問題。

8-2
File
(
non-stream
)
File
類別並不是一個標準的
I/O
類別,在
java.io
類別
函
式庫中
它
是
唯
一的
non-stream


You've reached the end of your free preview.
Want to read all 68 pages?
- Spring '18
- San Nan Lee