検索
ホームページJava&#&チュートリアルJava言語の入出力ストリーム操作スキル

Java言語の入出力ストリーム操作スキル

Jun 10, 2023 pm 02:42 PM
Java入力ストリームJava出力ストリーム操作スキル

Java 言語の入出力ストリーム操作スキル

Java 言語は、開発者に多くの便利な入出力ストリーム クラスを提供し、ファイルの読み取りおよび書き込み操作を非常にシンプルかつ効率的にします。この記事では、Java 言語の入出力ストリームの基礎知識と一般的な操作テクニックを紹介します。

Java 入力および出力ストリーム: 概要

Java 入力および出力ストリームは、いくつかの事前定義クラスを使用してデータ ストリームまたはデータ ブロックを読み書きするメカニズムです。これらは、テキスト、バイナリ、画像などのさまざまなデータ型を読み書きできる Java.io パッケージの下のクラスです。 Java 入力ストリームは入力ストリームの読み取りに使用され、Java 出力ストリームは出力ストリームの書き込みに使用されます。さらに、Java 入出力ストリームを使用して、ネットワーク ソケット、ファイル、その他の入出力デバイスの読み取りと書き込みを行うこともできます。

Java 入力および出力ストリームの分類

Java 入力および出力ストリームは、主に 4 つのタイプに分類できます。

  1. バイト ストリーム: バイナリ形式を使用して読み取りおよび出力を行います。データを書き込みます。これは、抽象クラス InputStream および OutputStream のサブクラスです。 BufferedInputStream と BufferedOutputStream は、読み取りと書き込みの効率を向上させることができます。
  2. Character Stream: 文字形式を使用してデータの読み取りと書き込みを行います。これは、抽象クラス Reader および Writer のサブクラスです。 BufferedReader と BufferedWriter は、読み取りと書き込みの効率を向上させることができます。
  3. オブジェクト ストリーム: Java オブジェクトの読み取りと書き込みに使用されます。これは、ObjectInputStream および ObjectOutputStream のサブクラスです。
  4. 圧縮ストリーム: 圧縮および解凍されたデータの読み取りと書き込みに使用されます。これは、GZIPInputStream、GZIPOutputStream、InflaterInputStream、DeflaterOutputStream のサブクラスです。

Java 入力および出力ストリームの操作スキル

次に、一般的に使用される Java 入力および出力ストリームの操作スキルをいくつか紹介します。

  1. BufferedInputStream および BufferedOutputStream の使用クラスは読み書きの効率を向上させることができます。データをメモリにキャッシュし、キャッシュがいっぱいになった場合、または特定の条件が満たされた場合にのみ、データをディスクに書き込むことができます。
  2. 大きなファイルの場合は、RandomAccessFile クラスを使用して、任意の場所でデータをすばやく読み書きします。
  3. テキスト ファイルの場合、FileReader クラスまたは FileWriter クラスを使用して読み取りと書き込みを行うことができます。読み取りおよび書き込み時には、文字エンコーディングを指定する必要があります。次のコードを使用できます:
FileReader fr = new FileReader("file.txt");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
br.close();
fr.close();
  1. バイナリ ファイルの場合、DataInputStream クラスと DataOutputStream クラスを使用して読み取りと書き込みができます。書き込み時に書き込むデータ型とバイト サイズを指定する必要があることに注意してください。コードを使用できます:
DataOutputStream out = new DataOutputStream(
    new BufferedOutputStream(
        new FileOutputStream("binary.dat")));
out.writeInt(123);
out.writeDouble(3.14159);
out.writeChar('A');
out.close();

DataInputStream in = new DataInputStream(
    new BufferedInputStream(
        new FileInputStream("binary.dat")));
System.out.println(in.readInt());
System.out.println(in.readDouble());
System.out.println(in.readChar());
in.close();
  1. ループ内でバイナリ ファイルを読み取るときは、EOFException を使用できます。ファイルの読み取りが完了したかどうかを判断する例外。例外が読み取られた場合、それは読み取りが完了したことを意味します。
DataInputStream in = new DataInputStream(
    new BufferedInputStream(
        new FileInputStream("binary.dat")));
try {
    while (true) {
        int i = in.readInt();
        double d = in.readDouble();
        char c = in.readChar();
        System.out.println(i + " " + d + " " + c);
    }
} catch (EOFException e) {
    System.out.println("文件读取完毕");
}
in.close();

結論

Java 入出力ストリームは Java プログラミングの非常に重要な部分です。この記事では、Java の入出力ストリームの基礎知識と一般的な操作テクニックを紹介します。 Java の入出力ストリームを徹底的に研究して使用することにより、Java プログラムの読み取りおよび書き込みの効率とパフォーマンスを大幅に向上させることができます。

以上がJava言語の入出力ストリーム操作スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境