2019年5月29日Javaの学習日記IO(バイトストリーム)

IOは、まとめと分類ストリーム:

A:コンセプト

装置間の処理のデータ転送のためのIOストリーム

データ・ストリーム上のJava操作の仕方によって、

ストリームパケットにおけるIO操作用のJavaクラス

入力および出力ストリーム:フローは、によって二つの流れに分割されています

操作種別に応じて二つの流れに分割されます。

バイトストリーム:コンピュータ内の任意のデータをバイトの形で格納されているので、バイトストリームは、任意のデータを操作することができます

文字ストリーム:文字のストリームは、純粋な文字データを操作することができ、より便利に

B:IOストリーム共通の親クラス

抽象親クラスのバイトストリーム:

InputStream

OutputStream

抽象親クラス文字ストリーム:

リーダー

ライター

C:IOプログラムの書き込み

使用する前に、インポートクラスパッケージIO

使用時には、IO例外処理を実行します

使用後、リソースの解放

FileIputStream:

読んで()1つのバイトを読み込み、

読んで()メソッドはintですなぜ値を返しますか?

読んで()メソッドではなく、バイトの、戻り値intなぜバイトがある読み込み

  真ん中11111111読んだときにバイトの入力ストリームはなど、あなたがオーディオ絵、など任意の種類のファイルを操作することができますので、それぞれが戻りバイトを読んでいる場合、これらは基礎となる文書は、バイナリ形式で保存され、発生する可能性があります

11111111は、これは、バイト-1のタイプである私たちのプログラムが遭遇していない-1 11111111前に補足するならば、学校よりも小さいので、読んだときにINTを受け、次のデータの読み取りを停止します0 24 4つのバイトを収集、バイト型int -1全体のデータを読み出すことを保証することができる255種類になる、すなわち、int型-1と標識された端部

FileOutputStream:

バイトの時間を書き込むためのwrite()メソッド

FileOutputStream追加:

画像のコピー:

FileInputStreamを読みます

書くためのFileOutputStream

(利用可能なバイト配列)方式のコピー:

短所:メモリ不足することが可能です

小さな配列の定義:

標準フォーマットの小さな配列の定義:

BufferedInputStreamをとBufferOutputStreamコピー:

A:バッファの思考

速度のバイトを読み書きする時間よりも著しく速いバイトストリームの読み出し速度の第1のアレイ

これは、Javaの設計自体にこのようなアレイの緩衝効果に追加され

また、アカウントにこのような設計を取る、それはバイトのバッファフローを提供します

B:BufferedInputStreamを

内蔵バッファ(配列)にBufferedInputStream

BufferedInputStreamをからバイトを読みます

BufferedInputStreamをファイル8192から読み出された1回限りとなります

 全てのバッファが使用されるまで、専用のファイル8192から再読み込みします

C:BufferOutputStream

BufferOutputStreamも内蔵バッファ(配列)

ファイルストリームに直接書き込まれていないプログラムの書き込みバイトは、最初のバッファに書き込まれたとき

バッファがいっぱいになったとき、BufferOutputStreamは、バッファ内のデータが1回のファイルに書き込まれます置くことを知っています

D:デモ

E:書き込みを読んで、より高速であるバッファで読み取るの小さな配列?

小さな配列サイズの定義は、8192バイトであり、その後、バッファ比較した場合

同じアレイに読み出し動作および書き込みので、小さな配列の定義は、わずかに良くなります

二つの配列はバッファ動作さ

フラッシュおよびクローズ方法の違い:

フラッシュ()メソッド

バッファをリフレッシュするために使用され、リフレッシュが再び書くことができます

close()メソッド

それは近いストリームオブジェクトバッファ(である場合終値は書き込むことはできません後、ストリームのみを閉じ、だけでなく、ストリームを閉じる前にバッファをフラッシュしません)、資源、方法の流れを解放する閉じます

バイトストリームは、中国の読み取りと書き込み:

バイトストリームは、中国の問題を読みます

文字化けが生じ、半分中国人が読むことができるときバイトの中国のストリームを読み取ります

中国のバイトストリームの問題を書きます

バイトバイトストリームを直接操作し、バイト配列に中国の文字列を書き込む必要があります

CRLFライトライト( "\ rをする\ n" .getBytes())。

バージョン1.6およびそれ以前のための標準フロー例外処理コード:

バージョン1.7のための標準フロー例外処理コード:

画像暗号化:

ファイルをコピーします。

入力データはファイルにコピーされます。

 

おすすめ

転載: www.cnblogs.com/clqbolg/p/10947341.html