【JAVA】-【IO流】

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
バイト ストリームを使用してテキスト ファイルをコピーすることもできますが、system.out() などのようにメモリ内で読み出すことはできません。
ここに画像の説明を挿入します

FileReaderのデータ読み込みの基本操作

IO ストリームの操作は 4 つのステップに要約できます。

  1. Java はオブジェクト指向であるため、ファイルを読み取りたい場合は、まずファイルを表すオブジェクトを用意する必要があるため、次のようになります。File file = new File("hello.text");
  2. ファイルの読み取りと書き込みはストリーム操作であるため、ストリームのインスタンス化も必要です:FileReader fr = new FileReader(file);ここでは、テキスト ファイルを操作するため、ファイルの内容が文字を通じてメモリに読み込まれるため、FileReader ストリームが使用されます。他のコンテンツを別の方法で操作するには、フローを変更する必要があります
  3. ファイルに対する操作の実行: 読み取り/書き込み
  4. リソースを閉じます。つまり、IO ストリームを閉じます。
    ここに画像の説明を挿入します
    メイン メソッドの new File() のアドレスはこのプロジェクトと比較され、これはこのプロジェクト上にあることと同等であり、メイン メソッドの new File() のアドレスは比較されます。テスト ケースは、このモジュールの
    最適化
    ここに画像の説明を挿入します
    。前に作成したコードは例外をスローすることで例外を処理しますが、new FileReader(file) が実行されて IO ストリームを開き、その後 fr.read() で例外が発生すると、例外が発生します。スローされるため、fr.close() が実行されず、IO ストリームも閉じられません。リソースの無駄とメモリ リークの問題があります。したがって、例外を確実に
    ここに画像の説明を挿入します
    キャッチするには try...catch...finally を使用する必要があります。どこで例外が発生しても、IO ストリームは閉じられる
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します

FileReader での Reader() の使用

ファイルの終わりに達した場合は、-1 が返されます。Reader(char[] cbuf): ファイル内のコンテンツをロードするために cbuf を使用するリーダーと同等です。ファイル内のコンテンツが cbuf の長さより大きい場合、cbuf 文字を読み取ることができます。それ以外の場合、読み取られるファイルのコンテンツは次のようになります。 cbuf の長さよりも短い cbuf 配列には回復されていないデータが存在し、これが誤った書き込みの原因となります。例: hello.txt ファイルの内容が helloworld123 の場合、最初に読み取られたときは hello、2 回目は world、3 回目は 123ld であるため、次のように判断されます。読み取られるたびに何文字ありますか? cbuf 配列の長さの代わりに、reader(char[] cbuf) の戻り値を使用します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

データを書き出す FileWrite 操作

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

FileInputStream と FileOutputStream を使用して画像を操作する

ここに画像の説明を挿入します
ここに画像の説明を挿入します

バッファリングされたストリーム(バイト型)は、非テキストファイルのコピーを実装します。

バッファストリーム: ファイルの読み書き効率を向上させるために、内部バッファ領域を提供するため、読み書き効率を向上させることができます。読み取りの際、最初にファイルをバッファに読み込みます。バッファがいっぱいになると、再度書き出すと、バッファのデフォルト サイズは 8 バイトです。bufferOutputStreamには、バッファをリフレッシュするためのflush()メソッドがあります。つまり、バッファ内のデータの読み書きとその後のクリアを行います。
一般に、バッファリングされたストリームは開発に使用されます。
画像の説明を追加してください
画像の説明を追加してください
内部の流れの閉鎖を省略可能
画像の説明を追加してください

おすすめ

転載: blog.csdn.net/CaraYQ/article/details/132028415