Javaにおけるバイトストリームとキャラクタストリームの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


Javaにおけるバイトストリームとキャラクタストリームの主な違いは、バイトストリームが8ビットバイトの入出力操作を支援するのに対し、キャラクタストリームは16ビットUnicodeの入出力操作を支援する点です。

ストリームとは、時間的に利用可能な一連のデータのことです

ソースはデータをストリームとして生成します。

デスティネーションは、データをストリームとして消費するか、読み出す。

つまり、ストリームとは、読み書きが可能なデータの流れを説明するものです

Javaでストリームに対する操作を行うには、バイトストリームとキャラクタストリームの2つの方法があります。

スポンサーリンク

Javaにおけるバイトストリームとは何か

Javaにおけるバイトストリームは、8ビットバイトの入出力操作を行うのに役立ちます。

つまり、1バイトずつデータを処理するのです。

バイトストリームの操作に最もよく使われるクラスは、FileInputStreamとFileOutputStreamです。

FileInputStreamはソースからの読み込みを、FileOutputStreamはデスティネーションへの書き込みを支援する。

インポート java.io.*;

public class プログラム {

public static void main(String args[]) throws IOException { {…

FileInputStream in = null;

FileOutputStream out = null;

トライ{

in = new FileInputStream(“input.txt”);

out = new FileOutputStream(“output.txt”)。

int c;

while ((c = in.read()) != -1) { { { out.write(c); { { (c = in.read()) !

out.write(c)を実行します。

}

}最終的に {

if (in != null) {

in.close()を実行します。

}

if (out != null) {

out.close()。

}

}

}

上のプログラムによると、FileInputStreamとFileOutputStreamの2つのオブジェクトが存在します。

whileループでは、input.txtのデータを読み込み、新しいファイルoutput.txtに書き込んで、ファイルの終端に達するまで続けます。

finally ブロックはファイルを閉じます。

最後に、output.txtファイルはinput.txtファイルと同じ内容を持つことになります。

通常、Byte Streamはどのようなファイルタイプでも使用することができます。

Javaにおけるキャラクタストリームとは

Javaでのキャラクタ・ストリームは、16ビットUnicodeの入出力を行うのに役立ちます。

  Javaで文字ストリームのための最も一般的なクラスは、FileReaderとFileWriterです。

内部的には、FileReaderはFileInputStreamを使用します。

同様に、FileWriteは、FileOutputStreamを使用します。

インポート java.io.*;

public class プログラム {

public static void main(String args[]) throws IOException { {…

FileReader in = null;

FileWriter out = null;

try {

in = new FileReader(“input.txt”);

out = new FileWriter(“output.txt”)。

int c;

while ((c = in.read()) != -1) { { { out.write(c); { { (c = in.read()) !

out.write(c)を実行します。

}

}最終的に {

if (in != null) {

in.close()を実行します。

}

if (out != null) {

out.close()。

}

}

上記のプログラムによれば、FileReaderとFileWriterの2つのオブジェクトがあります。

while ループでは、入力 txt ファイル内の Unicode 文字を読み取り、output.txt という新しいファイルにファイルの末尾に達するまで書き込みます。

finallyブロックはファイルを閉じます。

最終的に、output.txt ファイルも input.txt ファイルと同じ内容になります。

FileReaderは一度に2バイトを読み、FileWriterは一度に2バイトを書き込む。

Javaにおけるバイトストリームとキャラクタストリームの違い

定義

バイトストリームは8ビットバイトの入出力を行う機構であり、キャラクタストリームは16ビットUnicodeの入出力操作を行うJavaの機構です。

したがって、これがJavaにおけるByte StreamとCharacter Streamの主な違いです。

機能性

Javaにおけるバイトストリームとキャラクタストリームのもう一つの違いは、バイトストリームが8ビットバイトの入出力操作を行うのに対し、キャラクタストリームは16ビットUnicodeの入出力操作を行う点です。

関連するクラス

Javaでバイトストリーミングを行う一般的なクラスは、FileInputStreamとFileOutputStreamです。

しかし、Javaの文字ストリームの一般的なクラスは、FileReaderとFileWriterです。

したがって、この点もJavaのByte StreamとCharacter Streamの違いとなります。

結論

ストリームとは、データの並びのことです。

Javaでストリームに対する操作を行うには、バイトストリームとキャラクタストリームの2つの方法があります。

Javaにおけるバイトストリームとキャラクタストリームの主な違いは、バイトストリームが8ビットバイトの入出力操作を行うのに役立つのに対し、キャラクタストリームは16ビットUnicodeの入出力操作を行うのに役立つという点です。

タイトルとURLをコピーしました