English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、サンプルを使用してJava FileWriterおよびそのメソッドを学びます。
java.ioパッケージのFileWriterクラスは、データ(文字単位で)をファイルに書き込むために使用できます。
OutputStreamWriterクラスを継承しています。
FileWriterについてさらに詳しく知る前に、Java ファイル。
ファイルライターを作成するには、まずJava.io.FileWriterパッケージをインポートする必要があります。パッケージをインポートすると、ファイルライターを作成できます。
1.ファイル名を使用して
FileWriter output = new FileWriter(String name);
ここでは、指定されたファイル名にリンクされるファイルライターを作成しています。
2.ファイルオブジェクトを使用して
FileWriter input = new FileWriter(File fileObj);
ここでは、ファイルオブジェクトが指定するファイルにリンクされるファイルライターを作成しています。
上記の例では、データはあるデフォルトの文字コードで保存されています。
しかし、Java 11また、文字コードの種類を指定することもできます(UTF8またはUTF16)
FileWriter input = new FileWriter(String file, Charset cs);
ここでは、Charsetクラスを使用してファイルライターの文字コードを指定しています。
FileWriterクラスは、Writerクラスに現れる異なるメソッドの実装を提供します。
write() -書き込み器に一文字を書き込みます
write(char[] array) -指定された配列の文字を書き込み器に書き込みます
write(String data) -指定された文字列を書き込み器に書き込みます
import java.io.FileWriter; public class Main { public static void main(String args[]) { String data = "This is the data in the output file"; try { // FileWriterを作成します FileWriter output = new FileWriter("output.txt"); // 文字列をファイルに書き込みます output.write(data); //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()メソッドは、データに使用されるエンコーディング形式を取得するために使用できます。例えば、
import java.io.FileWriter; import java.nio.charset.Charset; class Main { public static void main(String[] args) { String file = "output.txt"; try { //デフォルトのエンコーディングでFileReaderを作成します FileWriter output1 = new FileWriter(file); //指定されたエンコーディングでFileReaderを作成します FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); //読み取り器の文字コードを返します System.out.println("output1の文字コード: " + output1.getEncoding()); System.out.println("output2の文字コード: " + output2.getEncoding()); // readerを閉じます output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } }
出力結果
output1の文字エンコーディング: Cp1252 output2の文字エンコーディング: UTF8
上記の例では、以下の文字エンコーディングで作成しました。2ファイルライターが、outputとして名付けられています。1およびoutput2。
output1文字エンコーディングが指定されていません。したがって、getEncoding()メソッドはデフォルトの文字エンコーディングを返します。
output2指定された文字エンコーディングUTF8:したがって、getEncoding()メソッドは指定された文字エンコーディングを返します。
注意:Charset.forName()メソッドを使用して指定された文字エンコーディングの種類を指定しました。
ファイルライターを閉じるには、close()メソッドを使用できます。一旦close()メソッドが呼び出されると、writerを使用してデータを書き込むことはできません。
メソッド | 説明 |
---|---|
flush() | ライターに存在するすべてのデータを強制的に対応する目的地に書き出します |
append() | 指定された文字を現在のライターに挿入します |