Java FileWriter クラス
Java FileWriter クラス
このチュートリアルでは、例を使用して Java FileWriter とそのメソッドについて学習します。
FileWriter
java.io
のクラス パッケージを使用して、データ (文字単位) をファイルに書き込むことができます。
OutputStreamWriter
を拡張します クラス。
FileWriter
について詳しく知る前に 、Java ファイルについて知っておく必要があります。
FileWriter を作成する
ファイル ライターを作成するには、Java.io.FileWriter
をインポートする必要があります。 最初にパッケージ。パッケージをインポートしたら、ファイル ライターを作成する方法を次に示します。
<強い>1.ファイル名の使用
FileWriter output = new FileWriter(String name);
ここでは、name で指定されたファイルにリンクされるファイル ライターを作成しました。 .
<強い>2.ファイルのオブジェクトの使用
FileWriter input = new FileWriter(File fileObj);
ここでは、ファイルのオブジェクトによって指定されたファイルにリンクされるファイル ライターを作成しました。
上記の例では、データはデフォルトの文字エンコーディングを使用して保存されています。
ただし、Java 11 以降、文字エンコーディングのタイプ (UTF8) を指定できるようになりました。 または UTF16 ) も同様です。
FileWriter input = new FileWriter(String file, Charset cs);
ここでは、Charset
を使用しました。 ファイル ライターの文字エンコーディングを指定するクラス。
FileWriter のメソッド
FileWriter
クラスは、Writer
に存在するさまざまなメソッドの実装を提供します クラス。
write() メソッド
write()
- ライターに 1 文字を書き込みますwrite(char[] array)
- 指定された配列の文字をライターに書き込みますwrite(String data)
- 指定された文字列をライターに書き込みます
例:ファイルにデータを書き込む FileWriter
import java.io.FileWriter;
public class Main {
public static void main(String args[]) {
String data = "This is the data in the output file";
try {
// Creates a FileWriter
FileWriter output = new FileWriter("output.txt");
// Writes the string to the file
output.write(data);
// Closes the writer
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
上記の例では、output という名前のファイル ライターを作成しました。 .出力リーダーは output.txt にリンクされています ファイル。
FileWriter output = new FileWriter("output.txt");
ファイルにデータを書き込むために、 write()
を使用しました メソッド。
ここでプログラムを実行すると、output.txt ファイルには次の内容が含まれています。
This is a line of text inside the file.
getEncoding() メソッド
getEncoding()
メソッドを使用して、データの書き込みに使用されるエンコーディングのタイプを取得できます。たとえば、
import java.io.FileWriter;
import java.nio.charset.Charset;
class Main {
public static void main(String[] args) {
String file = "output.txt";
try {
// Creates a FileReader with default encoding
FileWriter output1 = new FileWriter(file);
// Creates a FileReader specifying the encoding
FileWriter output2 = new FileWriter(file, Charset.forName("UTF8"));
// Returns the character encoding of the reader
System.out.println("Character encoding of output1: " + output1.getEncoding());
System.out.println("Character encoding of output2: " + output2.getEncoding());
// Closes the reader
output1.close();
output2.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
出力
The character encoding of output1: Cp1252 The character encoding of output2: UTF8
上記の例では、output1 という名前の 2 つのファイル ライターを作成しました。 および output2 .
- 出力1 文字エンコーディングを指定しません。したがって、
getEncoding()
メソッドはデフォルトの文字エンコーディングを返します。 - output2 文字エンコード UTF8 を指定します .したがって、
getEncoding()
メソッドは、指定された文字エンコーディングを返します。
注意 :Charset.forName()
を使用しました 文字エンコーディングの種類を指定するメソッド。詳細については、Java Charset (公式の Java ドキュメント) を参照してください。
close() メソッド
ファイルライターを閉じるには、 close()
を使用できます 方法。一度 close()
メソッドが呼び出されると、ライターを使用してデータを書き込むことはできません。
FileWriter のその他のメソッド
メソッド | 説明 |
---|---|
flush() | ライターに存在するすべてのデータを対応する宛先に強制的に書き込みます |
append() | 指定された文字を現在のライターに挿入します |
詳細については、Java FileWriter (公式の Java ドキュメント) にアクセスしてください。
Java