JavaのPrintWriterクラスとは何ですか?
他の OutputStream が利用可能な場合に、なぜ PrintWriter を使用するのでしょうか?
コンソールにデータを印刷する最も一般的な方法は、System.out.printメソッドを使用することです。ただし、 PrintWriterオブジェクトを使用してグローバル アプリケーションを公開するときに、指定されたロケール(地域標準)に従って形式をカスタマイズする方が簡単です。この投稿の後半では、システムに応じて Locale を使用する方法を検討します。PrintWriter クラスの使用方法
PrintWriterを使用するには、 java.io.PrintWriterクラスをインポートする必要があります。次に、そのオブジェクトを初期化した後、必要に応じて、コンソール上での書き込みまたはファイルへの書き込みに使用できます。コンソールとファイルのPrintWriterクラスを初期化する両方の方法を見てみましょう。複数の異なるコンストラクターが存在します。ただし、ここではまず最も簡単なものを紹介します。PrintWriter によるコンソール出力
以下は、コンソールにテキストを印刷するための PrintWrtierオブジェクトです。PrintWriter consoleOutput = new PrintWriter(System.out);
ここでは、コンソールに書き込むために System.outオブジェクトがコンストラクターに渡されます。
PrintWriterによるファイル出力
ファイルにテキストを書き込むための PrintWriterオブジェクトを次に示します。PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
このコンストラクターは、ファイル名として文字列入力を受け取ります。指定した名前のファイルを作成し、そこにテキストデータを書き込みます。
PrintWriterクラスのメソッド
Java PrintWriterクラスには、便利なメソッドが多数付属しています。彼らを参加させるだけで飲み込むのはさらに困難です。それでは、それぞれを例で見てみましょう。それらは何ですか、そしてそれらを簡単に使用するにはどうすればよいですか。例1
この例では、コンソールで印刷するために PrintWriterオブジェクトを使用する方法を示します。import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
// by importing the java.io.PrintWriter class
PrintWriter consoleOutput = new PrintWriter(System.out);
consoleOutput.printf("Hey there! This is %S.\n", "Lubaina Khan");
consoleOutput.print("Today you're exploring the PrinWriter class with Code Gym. ");
consoleOutput.println("Hope you're having fun!");
consoleOutput.append("Patience is the key when learning new concepts.\n");
consoleOutput.append("It all boils down to practise and persistence. :)");
consoleOutput.flush();
consoleOutput.close();
}
}
出力
ちょっと、そこ!ルバイナ・カーンです。今日は、Code Gym を使用して PrinWriter クラスを探索します。楽しんでいただければ幸いです! 新しい概念を学ぶときの鍵となるのは忍耐です。すべては練習と粘り強さに尽きるのです。:)
PrintWriterクラスの使用メソッド
printf(String str, Object arguments);
printf ()メソッドは、印刷する文字列の形式を受け取ります。ここで、プレースホルダー%S は、文字列の次に渡される大文字の引数に置き換えられます。
print(String str);
このメソッドは、 PrintWriterオブジェクト を使用して、渡された文字列を印刷します。
println(String str);
文字列の内容の後に改行が出力されます。
append(CharSequence cs);
追加に渡された文字シーケンスは、PrintWrtierオブジェクトに追加されます。
flush();
PrintWriterオブジェクト の内容を空にします。
close();
書き込みストリームを閉じ、割り当てられているリソースを解放します。
例 2
この例では、ファイルにデータを書き込むための PrintWriterクラスの使用法を示します。import java.io.PrintWriter;
import java.util.Date;
import java.util.Locale;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
try {
// by importing the java.io.PrintWriter class
PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
fileOutput.printf(Locale.getDefault(), "Hi, What's the day today? %s.\n", new Date());
fileOutput.print("Here's an implementation of PrinWriter class for file writing.\n");
fileOutput.println("Hope Code Gym made it simpler for you to understand.");
fileOutput.append("One step at a time, and off you go!", 0, 35);
fileOutput.flush();
fileOutput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
出力
こんにちは、今日は何の日ですか? Sun Jul 25 17:30:21 PKT 2021. ファイル書き込み用の PrinWriter クラスの実装です。Hope Code Gym を使用すると、より簡単に理解できるようになります。一度に一歩ずつ、そして出発しましょう!
PrintWriterクラスの使用メソッド
コンソールでの書き込みとは異なる、ファイルの書き込みに使用されるメソッドについて説明します。printf(Locale locale, String str, Object args);
ここでロケールを渡すことができます (一貫性のためにシステムのデフォルトを使用しました)。必要に応じて任意のロケールを使用できます。これは、地域ベースの書式設定に準拠します。実装の残りの部分は以前に使用したものと同じです。
append(CharSequence cs, int beginningIndex, int endingIndex);
渡されたCharSequenceの開始インデックスと終了インデックスを指定することで、その チャンクを追加できます。ここでは最後のインデックスを使用しました。これを試してみて、さまざまな出力を確認できます。
try{
...
} catch (Exception e){
...
}
ファイル書き込み時には必ずtry-catchブロックを使用します。これは、システム上でファイルにアクセスしたり作成したりする際の例外 (権限の問題など) を回避するためです。