Java PrintWriter クラス
Java PrintWriter クラス
このチュートリアルでは、Java PrintWriter とその print() および printf() メソッドについて、例を使って学習します。
PrintWriter
java.io
のクラス パッケージを使用して、一般的に読み取り可能な形式 (テキスト) で出力データを書き込むことができます。
抽象クラス Writer
を拡張します .
PrintWriter の働き
他のライターとは異なり、PrintWriter
プリミティブ データを変換します (int
、 float
、 char
など) をテキスト形式に変換します。次に、フォーマットされたデータをライターに書き込みます。
また、PrintWriter
クラスは入出力例外をスローしません。代わりに、 checkError()
を使用する必要があります その中のエラーを見つけるためのメソッド。
注意 :PrintWriter
クラスには、自動フラッシュの機能もあります。これは、println()
のいずれかの場合、ライターがすべてのデータを宛先に書き込むことを強制することを意味します。 または printf()
メソッドが呼び出されます。
PrintWriter を作成する
印刷ライターを作成するには、java.io.PrintWriter
をインポートする必要があります。 最初にパッケージ。ここでパッケージをインポートしたら、印刷ライターを作成する方法を説明します。
<強い>1.他のライターの使用
// Creates a FileWriter
FileWriter file = new FileWriter("output.txt");
// Creates a PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);
ここで、
FileWriter
で表されるファイルにデータを書き込む印刷ライターを作成しました。- autoFlush 自動フラッシュを実行するかどうかを指定するオプションのパラメータです
<強い>2.他の出力ストリームの使用
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");
// Creates a PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);
ここで、
FileOutputStream
で表されるファイルにデータを書き込む印刷ライターを作成しました。- autoFlush 自動フラッシュを実行するかどうかを指定するオプションのパラメータです
<強い>3.ファイル名の使用
// Creates a PrintWriter
PrintWriter output = new PrintWriter(String file, boolean autoFlush);
ここで、
- 指定されたファイルにデータを書き込む印刷ライターを作成しました
- autoFlush 自動フラッシュを実行するかどうかを指定するオプションのブール値パラメータです
注意 :上記のすべてのケースで、PrintWriter
デフォルトの文字エンコーディングを使用してファイルにデータを書き込みます。ただし、文字エンコーディング (UTF8) を指定できます。 または UTF16 ) も同様です。
// Creates a PrintWriter using some character encoding
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
ここでは、 Charset を使用しています。 文字エンコーディングを指定するクラス。詳細については、Java Charset (公式の Java ドキュメント) を参照してください。
PrintWriter のメソッド
PrintWriter
クラスは、データを出力に出力できるようにするさまざまなメソッドを提供します。
print() メソッド
print()
- 指定されたデータをライターに出力しますprintln()
- 最後に改行文字とともにデータをライターに出力します
たとえば、
import java.io.PrintWriter;
class Main {
public static void main(String[] args) {
String data = "This is a text inside the file.";
try {
PrintWriter output = new PrintWriter("output.txt");
output.print(data);
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
上記の例では、output という名前の印刷ライターを作成しました。 .この印刷ライターはファイル output.txt にリンクされています .
PrintWriter output = new PrintWriter("output.txt");
データをファイルに出力するために、 print()
を使用しました メソッド。
ここでプログラムを実行すると、output.txt ファイルには次の内容が含まれています。
This is a text inside the file.
printf() メソッド
printf()
メソッドを使用して、フォーマットされた文字列を出力できます。これには、書式設定された文字列と引数の 2 つのパラメーターが含まれます。たとえば、
printf("I am %d years old", 25);
ここで、
- 私は
%d
です 年はフォーマットされた文字列です %d
フォーマットされた文字列の整数データです- 25 は引数です
書式設定された文字列には、テキストとデータの両方が含まれます。そして、引数はフォーマットされた文字列内のデータを置き換えます。
したがって、%d 25 に置き換えられます .
例:PrintWriter を使用した printf() メソッド
import java.io.PrintWriter;
class Main {
public static void main(String[] args) {
try {
PrintWriter output = new PrintWriter("output.txt");
int age = 25;
output.printf("I am %d years old.", age);
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
上記の例では、output という名前の印刷ライターを作成しました。 .印刷ライターはファイル output.txt にリンクされています .
PrintWriter output = new PrintWriter("output.txt");
フォーマットされたテキストをファイルに出力するために、 printf()
を使用しました メソッド。
ここでプログラムを実行すると、output.txt ファイルには次の内容が含まれています。
I am 25 years old.
PrintWriter のその他のメソッド
メソッド | 説明 |
---|---|
close() | 印刷ライターを閉じます |
checkError() | ライターにエラーがあるかどうかをチェックし、ブール値の結果を返します |
append() | 指定されたデータをライターに追加します |
詳細については、Java PrintWriter (公式の Java ドキュメント) にアクセスしてください。
Java