Java IO 的一般使用原則 :
原則一、按資料來源(去向)分類:
1 、檔案:( 位元組流 ) FileInputStream, FileOutputStream;
( 字元 ) FileReader, FileWriter
2 、Byte[]: ByteArrayInputStream, ByteArrayOutputStream( 位元組流 )
3 、Char[]: CharArrayReader, CharArrayWriter( 字元流 )
4 、String: ( 位元組流 )StringBufferInputStream, StringBufferOuputStream
( 字元流 ) StringReader, StringWriter
5 、網路資料流: ( 位元組流 ) InputStream, OutputStream,( 字元流 )Reader, Writer
原則二、按是否格式化輸出分:
1 、要格式化輸出: PrintStream, PrintWriter
原則三、按是否要緩衝分:
1 、要緩衝: ( 位元組流 )BufferedInputStream, BufferedOutputStream,
( 字元流 )BufferedReader, BufferedWriter
原則四、按資料格式分:
1 、二進位格式(只要不能確定是純文字的) : InputStream, OutputStream 及其所有帶
Stream 結束的子類
2 、純文字格式(含純英文與漢字或其他編碼方式): Reader, Writer 及其所有帶 Reader,
Writer 的子類
原則五、按輸入輸出分:
輸入資料流,是把管子接到源,把流引入,引進,只能讀。
輸出資料流,是把管子接到源,把流引出,出口,只能寫。
1 、輸入: Reader, InputStream 類型的子類
2 、輸出: Writer, OutputStream 類型的子類
原則六、特殊需要:
1 、從 Stream 到 Reader,Writer 的轉換類: InputStreamReader,
OutputStreamWriter
2 、對象輸入輸出: ObjectInputStream, ObjectOutputStream
3 、處理序間通訊: PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4 、合并輸入: SequenceInputStream
5 、更特殊的需要: PushbackInputStream, PushbackReader,
LineNumberInputStream, LineNumberReader
I/O使用的一般準則步驟
1,考慮最原始的資料格式是什麼:原則四
2,是輸入還是輸出:原則五
3,是否需要轉換流:原則六第 1 點
4,資料來源(去向)是什麼:原則一
5,是否要緩衝:原則三(特別註明:一定要注意的是 readLine() 是否有定義,有什麼比
read, write 更特殊的輸入或輸出方法)
6,是否要格式化輸出:原則二