ホームページ > Java > &#&チュートリアル > Java I/O ストリームはストリーム変換をどのように実行しますか?

Java I/O ストリームはストリーム変換をどのように実行しますか?

WBOY
リリース: 2024-04-13 11:45:01
オリジナル
605 人が閲覧しました

Java I/O ストリーム変換は、あるストリームを別のストリームに変換してデータ形式を変更します。事前定義されたストリーム変換: BufferedReader、BufferedWriter、およびその他のクラスがバイト ストリームと文字ストリームを変換するために提供されています。カスタム ストリーム変換: 特定のニーズを満たすために、Reader/Writer インターフェイスと FilterInputStream/FilterOutputStream クラスを使用して記述されます。

Java I/O流是如何进行流转换的?

#Java I/O ストリームのストリーム変換

はじめに

Java I /O ストリーム変換とは、ある種類のストリームを別の種類のストリームに変換することを指します。これは、データをある形式から別の形式に変換するために必要になることがよくあります。 Java はさまざまな事前定義されたストリーム変換を提供しており、特定のコンバーターを使用してカスタム ストリーム変換を作成することもできます。

事前定義されたストリーム変換

Java には、次のような事前定義されたストリーム変換クラスがいくつか用意されています。

  • BufferedReader : Convert byteストリームから文字ストリームへ。
  • BufferedWriter: 文字ストリームをバイト ストリームに変換します。
  • DataInputStream: バイト ストリームをデータ入力ストリームに変換します。
  • DataOutputStream: データ出力ストリームをバイト ストリームに変換します。
  • ObjectInputStream: バイト ストリームをオブジェクト入力ストリームに変換します。
  • ObjectOutputStream: オブジェクト出力ストリームをバイト ストリームに変換します。

事前定義されたストリーム変換の使用

事前定義されたストリーム変換の使用は非常に簡単です。適切なコンストラクターを使用して変換ストリームを作成し、入力ストリームをパラメーターとして渡すだけです。例:

// 将字节流转换为字符流
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

// 将字符流转换为字节流
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
ログイン後にコピー

カスタム ストリーム変換

事前定義されたストリーム変換では特定のニーズを満たせない場合があります。この場合、カスタム ストリーム変換を作成できます。これを行うには、

Reader または Writer インターフェイスと、FilterInputStream または FilterOutputStream クラスを使用する必要があります。例:

// 创建一个自定义流转换,将大写字符转换为小写字符
class LowerCaseOutputStream extends FilterOutputStream {

    public LowerCaseOutputStream(OutputStream out) {
        super(out);
    }

    @Override
    public void write(int b) {
        super.write(Character.toLowerCase((char) b));
    }
}
ログイン後にコピー

実用的なケース

次に、テキスト ファイルを読み取り、その内容を大文字に変換する例を示します:

import java.io.*;

public class ConvertToUpperCase {

    public static void main(String[] args) {
        try {
            // 创建一个文件输入流
            FileInputStream inputStream = new FileInputStream("input.txt");
            
            // 将文件输入流转换为字符流
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            
            // 将字符流转换为大小写转换流
            BufferedReader reader = new BufferedReader(inputStreamReader);
            
            // 创建一个文件输出流
            FileOutputStream outputStream = new FileOutputStream("output.txt");
            
            // 将文件输出流转换为大小写转换流
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
            
            // 将输入流中的字符读入缓冲区,并将其转换为大写
            String line;
            while ((line = reader.readLine()) != null) {
                outputStreamWriter.write(line.toUpperCase());
            }
            
            // 关闭流
            reader.close();
            outputStreamWriter.close();
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
ログイン後にコピー

以上がJava I/O ストリームはストリーム変換をどのように実行しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート