六個原則:
一、按資料**(去向)分類:
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
決定使用哪個類以及它的構造程序的一般準則如下(不考慮特殊需要):
首先,考慮最原始的資料格式是什麼: 原則四
第二,是輸入還是輸出: 原則五
第三,是否需要轉換流: 原則六第 1 點
第四,資料**(去向)是什麼: 原則一
第五,是否要緩衝: 原則三 (註明:一定要注意的是 readline() 是否有定義,有什麼比 read, write 更特殊的輸入或輸出方法)
第六,是否要格式化輸出: 原則二
java IO操作 IO的一般使用原則
一 按資料 去向 分類 1 是檔案 fileinputstream,fileoutputstream,位元組流 filereader,filewriter 字元 2 是 byte bytearrayinputstream,bytearrayoutputstream 位元組流 3 是 char cha...
Java IO操作 IO的一般使用原則
一 按資料 去向 分類 1 是檔案 fileinputstream,fileoutputstream,位元組流 filereader,filewriter 字元 2 是 byte bytearrayinputstream,bytearrayoutputstream 位元組流 3 是 char cha...
IO 的一般使用原則
1 是檔案 fileinputstream,fileoutputstream,位元組流 filereader,filewriter 字元 2 是 byte bytearrayinputstream,bytearrayoutputstream 位元組流 3 是 char chararrayreader...