IOは、概要をストリーム


まず、以下のステップ:

       ソース選択フロー操作を作成します(読み取り|書き込み)リリース

第二に、流れ

ノードストリーム:データソースからの|最近のプログラムの流れ

プロセスフロー:パフォーマンスの向上を向上させるための装飾的なパターン

1、バイトストリーム:それはすべての(などのプレーンテキスト、オーディオ、ビデオなど)を扱うことができます

1)入力ストリーム入力ストリーム:のFileInputStreamれるByteArrayInputStreamの 
操作は:(バイト配列)を読み取る
      A)、中間容器のバイト[]フラッシュ=新しいバイト[長さ]
      ; B)、長さlen = 0 INTを受信し
      (C)、リードサイクルしばらく!-1 =(LEN =流.read(フラッシュ)))} {
      D)、操作:出力、コピー
2)を、出力ストリームのOutputStream:たFileOutputStream ByteArrayOutputStream
操作:ライト(バイト配列、0、長さ)出力

2、文字ストリーム:プレーンテキストのみを扱うことができます

1)入力ストリーム:リーダー:FileReaderのの
操作は:(文字列)を読み出す
       A)、中間容器チャー[]フラッシュ=新しいCHAR [長さ]
  ; = 0 INT lenの長さを受信B)、
  一方、(C)、リードサイクルを- 1 =(LEN =流.read(フラッシュ)))} {!
  D)、操作:出力、コピー
2)、出力ストリーム:ライター:てFileWriter
操作:WRITE(文字列、0、長さ)出力


3、転流:デコードするコード化文字セットの問題

  1)入力ストリーム:デコードàInputStreamReaderの
  2)、出力ストリーム:OutputStreamWriter->コーディング


図4に示すように、バッファフロー:改善された性能

  1)入力ストリーム:BufferedReaderのBufferedInputStreamを
  2)、出力ストリーム:なBufferedOutputStream BufferedWriterの


図5に示すように、データ・ストリーム:データ処理タイプ+

1)基本的な文字列+:読み出し同じ順序読み書きに存在しなければならない
       )Aを、入力ストリーム:DataInputStreamのreadXXX
       B)、出力ストリーム:DataOutputStreamをwriteXXX
2)、参照型:シリアライズ過渡
       A)、デシリアライズ:ObjectInputStreamのreadObjectメソッド
       B)の配列:たObjectOutputStreamのwriteObject


図6に示すように、プリントストリーム:のPrintStream

7、System.inアウトのerr SETINのsetOut

新しいメソッドを使用して、以下のフローは場所の多型を取ることはありません[重要]

  1、ByteArrayOutputStream:toByteArray()

  2、BufferedReaderの:のreadLine()

  図3に示すように、BufferedWriterの:改行文字()

  4、DataInputStreamをDataOutputStreamを

  5、ObjectInputStreamのにObjectOutputStream

  6、PrintStreamを

 

おすすめ

転載: www.cnblogs.com/timetellu/p/11519910.html