English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java プロセス制御

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 例外処理

Java リスト(List)

Java Queue(キュー)

Java Mapコレクション

Java Setコレクション

Java 入出力(I/)

Java Reader/Writer

Java その他のトピック

Java FileWriter クラス

このチュートリアルでは、サンプルを使用してJava FileWriterおよびそのメソッドを学びます。

java.ioパッケージのFileWriterクラスは、データ(文字単位で)をファイルに書き込むために使用できます。

OutputStreamWriterクラスを継承しています。

FileWriterについてさらに詳しく知る前に、Java ファイル

FileWriterを作成する

ファイルライターを作成するには、まず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のメソッド

FileWriterクラスは、Writerクラスに現れる異なるメソッドの実装を提供します。

write()メソッド

  • write() -書き込み器に一文字を書き込みます

  • 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 {
      // 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()メソッド

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()メソッドを使用できます。一旦close()メソッドが呼び出されると、writerを使用してデータを書き込むことはできません。

FileWriterの他のメソッド

メソッド説明
flush()ライターに存在するすべてのデータを強制的に対応する目的地に書き出します
append()指定された文字を現在のライターに挿入します