Java FileReader クラス
Java FileReader クラス
このチュートリアルでは、例を使用して Java FileReader とそのメソッドについて学習します。
FileReader
java.io
のクラス パッケージを使用して、ファイルからデータ (文字単位) を読み取ることができます。
InputSreamReader
を拡張します クラス。
FileReader
について学ぶ前に 、Java ファイルについて知っていることを確認してください。
FileReader を作成する
ファイル リーダーを作成するには、java.io.FileReader
をインポートする必要があります。 最初にパッケージ。パッケージをインポートしたら、ファイル リーダーを作成する方法を次に示します。
<強い>1.ファイル名の使用
FileReader input = new FileReader(String name);
ここでは、name で指定されたファイルにリンクされるファイル リーダーを作成しました。 .
<強い>2.ファイルのオブジェクトの使用
FileReader input = new FileReader(File fileObj);
ここでは、ファイルのオブジェクトによって指定されたファイルにリンクされるファイル リーダーを作成しました。
上記の例では、ファイル内のデータはデフォルトの文字エンコーディングを使用して保存されています。
ただし、Java 11 以降、文字エンコーディングのタイプ (UTF-8) を指定できるようになりました。 または UTF-16 ) ファイルにも含まれています。
FileReader input = new FileReader(String file, Charset cs);
ここでは、Charset
を使用しました。 クラスを使用して、ファイル リーダーの文字エンコーディングを指定します。
FileReader のメソッド
FileReader
クラスは Reader
に存在するさまざまなメソッドの実装を提供します クラス。
read() メソッド
read()
- リーダーから 1 文字を読み取りますread(char[] array)
- リーダーから文字を読み取り、指定された配列に格納しますread(char[] array, int start, int length)
- length に等しい文字数を読み取ります リーダーから取得し、位置 start から始まる指定された配列に格納します
たとえば、input.txt という名前のファイルがあるとします。
This is a line of text inside the file.
FileReader
を使用してファイルを読み取ってみましょう .
import java.io.FileReader;
class Main {
public static void main(String[] args) {
// Creates an array of character
char[] array = new char[100];
try {
// Creates a reader using the FileReader
FileReader input = new FileReader("input.txt");
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
出力
Data in the file: This is a line of text inside the file.
上記の例では、input という名前のファイル リーダーを作成しました。 .ファイル リーダーはファイル input.txt にリンクされています .
FileInputStream input = new FileInputStream("input.txt");
ファイルからデータを読み取るために、 read()
を使用しました メソッド。
注意 :ファイル input.txt 現在の作業ディレクトリに存在する必要があります。
getEncoding() メソッド
getEncoding()
メソッドを使用して、ファイルにデータを格納するために使用されるエンコーディングのタイプを取得できます。たとえば、
import java.io.FileReader;
import java.nio.charset.Charset;
class Main {
public static void main(String[] args) {
try {
// Creates a FileReader with default encoding
FileReader input1 = new FileReader("input.txt");
// Creates a FileReader specifying the encoding
FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));
// Returns the character encoding of the file reader
System.out.println("Character encoding of input1: " + input1.getEncoding());
System.out.println("Character encoding of input2: " + input2.getEncoding());
// Closes the reader
input1.close();
input2.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
出力
The character encoding of input1: Cp1252 The character encoding of input2: UTF8
上記の例では、input1 という名前の 2 つのファイル リーダーを作成しました。 と input2 .
- input1 文字エンコーディングを指定しません。したがって、
getEncoding()
メソッドはデフォルトの文字エンコーディングを返します。 - input2 文字エンコード UTF8 を指定します .したがって、
getEncoding()
メソッドは、指定された文字エンコーディングを返します。
注意 :Charset.forName()
を使用しました 文字エンコーディングの種類を指定するメソッド。詳細については、Java Charset (公式の Java ドキュメント) を参照してください。
close() メソッド
ファイルリーダーを閉じるには、 close()
を使用できます 方法。一度 close()
メソッドが呼び出されると、リーダーを使用してデータを読み取ることはできません。
FileReader のその他の方法
メソッド | 説明 |
---|---|
ready() | ファイル リーダーが読み取り可能かどうかを確認します |
mark() | データが読み取られたファイル リーダー内の位置をマークします |
reset() | マークが設定されたリーダー内のポイントにコントロールを返します |
詳細については、Java FileReader (Java の公式ドキュメント) にアクセスしてください。
Java