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