ホームページ  >  記事  >  Java  >  ファイルを自動的に閉じる

ファイルを自動的に閉じる

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-05 20:03:02417ブラウズ
  • JDK 7 より前は、ファイルは close() メソッドを使用して明示的に閉じられていました。これは既存のコードで一般的に行われていました。

  • JDK 7 では、ファイル ストリームなどのリソースのクローズを自動化する try-with-resources が導入されました。

  • try-with-resources の主な利点は、メモリ リークを防止し、リソースが不要になったときに確実に解放されることです。

  • try-with-resources の基本構造は次のとおりです:
    試してください (機能仕様) {
    // リソースを使用します
    }

  • リソース仕様はリソースを宣言して初期化し、try ブロックの最後に自動的に閉じられます。

  • リソースは自動的に管理されるため、close() を明示的に呼び出す必要はありません。

  • try-with-resources には、catch 句とfinally 句を含めることができます。

  • AutoCloseable インターフェイスを実装するリソースでのみ使用できます。これには、FileInputStream や FileOutputStream などのストリーム クラスが含まれます。

  • try-with-resources の実装例は、ShowFile プログラムの修正バージョンです。

Fechando automaticamente um arquivo

  • プログラムでは、try-with-resources ステートメントを使用してファイルが開かれます。ここで、fin という FileInputStream が宣言されています。

  • fin 変数は try ブロックに対してローカルであり、ブロックの入力時に作成されます。

  • try ブロックを終了すると、fin に関連付けられたファイルが自動的に閉じられるため、明示的に close() を呼び出す必要がなくなります。

  • このアプローチには、自動リソース管理の利点があり、ファイルの閉じ忘れを回避できます。

  • try ステートメントで宣言されたリソースは暗黙的に最終的なリソースであり、作成後に再定義することはできません。

  • リソースのスコープは try-with-resources ブロックに制限されています。

  • 各リソース指定をセミコロンで区切って、単一の try ステートメントで複数のリソースを管理することができます。

  • try-with-resources を使用して fin と fout の両方を管理するように CopyFile プログラムを変更する方法を示す例が提供されています。

Fechando automaticamente um arquivo

  • try-with-resources の利点:

  • ファイルなどのリソースは、try ブロックの最後に自動的に閉じられます。

  • 従来のアプローチと比較して、より簡潔で最適化されたコード。

  • 例外処理:

  • リソースクローズ中の例外は抑制されますが、失われることはありません。

  • 両方の例外 (元の例外と終了した例外) には、抑制された例外リストを通じてアクセスできます。

  • 伝統的なアプローチの知識の重要性:

  • try-with-resources を使用しない従来のコードを保守するために必要です。

  • JDK 7 以降のバージョンをサポートしていない環境で作業する場合に重要です。

  • 結論:

  • 最適化された堅牢なリソース管理には、try-with-resources をお勧めします。

  • プログラマーにとって、従来のアプローチに関する知識は不可欠です。

以上がファイルを自動的に閉じるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。