English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Java Reader、そのサブクラス、およびそのメソッドについての例を通じて学びます。
java.ioパッケージのReaderクラスは、文字ストリームを表す抽象スーパークラスです。
Readerは抽象クラスであるため、それ自体は作用しません。しかし、そのサブクラスはデータの読み取りに使用できます。
使用機能するReaderのために、そのサブクラスを使用することができます。その中には以下のようなものがあります:
次のチュートリアルでは、これらのサブクラスすべてについて学びます。
Readerを作成するために、まずjava.io.Readerパッケージをインポートする必要があります。パッケージをインポートした後、Readerを作成できます。
// Readerの作成 Reader input = new FileReader();
ここでは、FileReaderクラスを使用してReaderを作成しています。これは、Readerが抽象クラスであるため、Readerのオブジェクトを作成することができません。
注意:他のサブクラスからReaderReaderを作成することもできます。
このReaderクラスは、そのサブクラスによって実装されるメソッドが異なります。以下は、常用のメソッドの一部です:
ready(); - Readerが読み取り準備ができているか確認します
read(char[] array) - ストリームから文字を読み取り、指定された配列に格納します
read(char[] array, int start, int length)- ストリームからlengthと同じ数の文字を読み取り、startから指定された配列に格納します
mark(); - ストリーム中に読み取ったデータの場所をマークします
reset(); - ストリームをリセットします。ストリームがマークされた場合、再マークして再定位を試みます。ストリームがマークされていない場合、適切な特定のストリームの方法でリセットを試みます。例えば、スタートポイントに再定位します。
skip(); -指定された数の文字をストリームから捨てます
これはFileReaderクラスを使用してReaderのメソッドを実現する方法です。
仮に、input.txtのファイルに以下の内容が含まれています。
ファイル内のテキスト行です。
让我们尝试使用FileReader(Readerのサブクラス)でこのファイルを読み取ります。
import java.io.Reader; import java.io.FileReader; class Main { public static void main(String[] args) { // 文字配列を作成します char[] array = new char[100]; try { //FileReaderを使用してReaderを作成します リンク。 //Readerが準備ができているか確認します System.out.println("流にデータはありますか? "); + input.ready()); //文字を読み取ります input.read(array); System.out.println("流中的データ:"); System.out.println(array); // readerを閉じる input.close(); } catch(Exception e) { e.getStackTrace(); } } }
出力結果
ストリームにデータはありますか? true ストリーム内のデータ: ファイル内のテキスト行です。
ファイル内のテキスト行です。input.txt上記の例では、FileReaderクラスを使用してリーダーを作成しました。リーダーはファイルと
リンク。
Reader input = new FileReader("input.txt"); からinput.txtファイルからのデータ読み取り、これらのメソッドを実現しました。
input.read(); //readerからデータを読み取る input.close(); //readerを閉じる