1. 程式人生 > >Java 格式化輸出到檔案

Java 格式化輸出到檔案

在Java中,所有新的格式化功能都由java.utilFormatter類處理。

可以將Formatter看作是一個翻譯器,它將你的格式字串與資料翻譯成需要結果。

當你建立一個Formatter物件的時候,需要向其構造器傳遞一些資訊,告訴它最終的結果將向哪裡輸出。

示例如下:

package com.company;

import java.io.FileNotFoundException;
import java.util.Formatter;

public class Turtle {

    private String name;
    private Formatter f;

    public Turtle(String name, Formatter f) {
        this.name = name;
        this.f = f;
    }

    public void move(int x, int y) {
        f.format("%s The Turtle is at (%d %d)\n", name, x, y);
    }

    public static void main(String[] args) {
        String filePath = "file.txt";
        Turtle tommy = null;
        Formatter formatter = null;
        try {
            formatter = new Formatter(filePath);
            tommy = new Turtle("Tommy", formatter);
            tommy.move(45, 12);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        finally {
            if (formatter != null) {
                formatter.flush();
                formatter.close();
            }
        }

        Turtle terry = new Turtle("Terry", new Formatter(System.out));
        terry.move(12, 34);
    }

}
輸出結果
Terry The Turtle is at (12 34)

Formatter的構造器經過過載可以接受多種輸出目的地,不過最常用的還是PrintStream·、OutputStream和File。