Java 整个文件的 BufferedWriter 精度

Java BufferedWriter Precision for Entire File

假设我有:

double num = 893.148723
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filePath)));
bw.write(String.format("%.1f",num));

这会将 893.1 写入文件。但是,有没有办法为整个文件设置精度?我将输出大量数字,并且不必在每次写数字时都对 String.format() 部分进行编码。

即使没有这样的内置选项,您也可以创建自己的 class 扩展 BufferedWriter

public class BufferedWriterWithFormat extends BufferedWriter {
    private String format;

    public BufferedWriterWithFormat(Writer w, String format) {
        super(w);
        this.format = format;
    }

    public void write(double d) throws IOException {
        write(String.format(format, d));
    }
}