工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java PrintStreamクラス完全ガイド:print、println、printf解説

Java PrintStreamクラスをマスターする

JavaのPrintStreamクラスについて、作成方法、コアメソッド、実践例を掘り下げて解説します。

PrintStreamクラスはjava.ioパッケージの一部で、OutputStreamを拡張し、生バイトではなく人間が読めるテキストを出力するように設計されています。

PrintStreamの仕組み

他のストリームと異なり、PrintStreamはプリミティブ値(int、charなど)を書き込み前にフォーマット済みテキストに変換します。また、IOExceptionをスローせず、エラーはcheckError()で報告されます。

自動フラッシュは重要な機能で、以下の場合にストリームが自動的にフラッシュされます:

PrintStreamの作成

まずクラスをインポート:

import java.io.PrintStream;

1. 既存のOutputStreamから

// 例: FileOutputStreamをラップ
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream ps = new PrintStream(fos, true); // true = autoFlush

オプションの自動フラッシュ付きでlog.txtにフォーマット済みテキストを書き込みます。

2. ファイル名から直接

PrintStream ps = new PrintStream("log.txt", true);

コンストラクタは自動フラッシュ用のbooleanを受け取ります。デフォルトではプラットフォームの文字エンコーディングを使用します。

3. charsetを指定

PrintStream ps = new PrintStream("log.txt", true, StandardCharsets.UTF_8);

Charsetを使用してUTF-8、UTF-16、またはサポートされる任意のエンコーディングを選択できます。

注意: 文字セットの詳細についてはJava Charset APIを参照。


PrintStreamのコアメソッド

print()とprintln()

例:System.outの使用

public class Main {
    public static void main(String[] args) {
        System.out.print("Hello World.");
    }
}

ここでは、System.outは事前設定済みのPrintStreamなので、そのprint()メソッドが即座に利用可能です。

例:ファイルへの書き込み

import java.io.PrintStream;

public class Main {
    public static void main(String[] args) {
        try {
            PrintStream ps = new PrintStream("output.txt");
            ps.print("This is a text inside the file.");
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

結果のoutput.txtには:

This is a text inside the file.

printf()

フォーマット指定子を使用してフォーマット済みテキストを出力:

System.out.printf("I am %d years old", 25);

ここでは%dが整数値25で置き換えられます。

例:ファイルでprintf()使用

import java.io.PrintStream;

public class Main {
    public static void main(String[] args) {
        try {
            PrintStream ps = new PrintStream("output.txt");
            int age = 25;
            ps.printf("I am %d years old.", age);
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

実行後、output.txtには:

I am 25 years old.

PrintStreamのその他のメソッド

メソッド説明
close()ストリームを閉じ、システムリソースを解放
checkError()ストリームがエラーに遭遇した場合trueを返す
append()指定文字シーケンスをストリームに追加

包括的な詳細については公式Java PrintStreamドキュメントを参照。

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Java継承のマスター:概念、種類、実践例
  4. Java Staticネストクラスの理解:用法、違い、実例
  5. Java無名インナークラス完全ガイド:定義、構文、実践例
  6. Javaシングルトンパターン完全解説:安全な実装と活用法
  7. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  8. Java ArrayList完全マスター:操作・メソッド・ベストプラクティス
  9. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  10. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  11. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除