検索
ホームページJava&#&チュートリアルバイトのエンコードとデコードは Java I/O ストリームにどのように実装されますか?

Java I/O ストリームでは、エンコードによって文字データがバイナリ データに変換され、デコードによってバイナリ データが文字データに変換されます。エンコーディング: Charset.forName() を使用してエンコーディングを取得し、次に Charset.encode() を使用して文字データをバイト配列にエンコードします。デコード: CharsetDecoder.decode() を使用して、バイト配列を文字データにデコードします。実際のケース: BufferedWriter/BufferedReader と Charset を組み合わせてテキスト ファイルの読み取りと書き込みを行い、データが正しく変換されるようにエンコード形式を指定します。

Java I/O流中的字节编码与解码是如何实现的?

Java I/O ストリームでのバイト エンコードとデコード

Java I/O ストリームでは、バイト エンコードとデコードは次のことを指します。バイナリ データを文字データに、またはその逆に変換するプロセス。 Java は、このタスクを実行するためのさまざまなクラスとメソッドを提供します。

エンコード: 文字データをバイナリ データにエンコードする

文字データをバイナリ データにエンコードするには、java.nio.charset パッケージ Charset クラス。次にエンコード例を示します。

Charset charset = Charset.forName("UTF-8");
byte[] bytes = charset.encode("Hello World").array();

この例では、文字列「Hello World」を UTF-8 でエンコードされたバイト配列にエンコードします。

デコード: バイナリ データから文字データへの

バイナリ データを文字データにデコードするには、java.nio.charset パッケージ CharsetDecoder クラス。以下はデコード例です。

CharsetDecoder decoder = charset.newDecoder();
String decodedString = decoder.decode(ByteBuffer.wrap(bytes)).toString();

この例では、UTF-8 でエンコードされたバイト配列を文字列「Hello World」にデコードします。

実践的なケース: テキスト ファイルの読み取りと書き込み

次のコードは、バイト エンコードとデコードを使用してテキスト ファイルの読み取りと書き込みを行う方法を示しています。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;

public class Main {
    public static void main(String[] args) {
        // 编码:将字符串写入文本文件
        try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("text.txt"), Charset.forName("UTF-8")))) {
            writer.write("Hello World");
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 解码:读取文本文件中的字符串
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("text.txt"), Charset.forName("UTF-8")))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

このコードは、文字列「Hello World」を text.txt ファイルに UTF-8 エンコードで書き込み、ファイルの内容を UTF-8 エンコードで読み取って出力します。

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

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

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境