2016-12-22 64 views
0

使用Formatter写入文件是否是一种很好的做法? 例如:可以用Formatter写入文件吗?

Formatter g = null; 
    try { 
     g = new Formatter("data.out"); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

int x = 3; 
g.format("abc" + Integer.toString(x)); 
g.close(); 

我一直与格式化所有学期的写作,找出共同的方式来写在文件中的一个是PrintWriter的。我的家庭作业中的某些程序是否有可能不会写出他们想写的内容?谢谢!

回答

1

我不会说它本身有什么“错误”。您只需为输出获取c样式的格式化选项,但由于Formatter不会扩展Writer,所以您确实会失去一些兼容性。

基于文档,我不希望你的输出对你的作业是错误的。如果你真的想确定,Formatter确实有一个接受Appandable对象的构造函数,PrintWriter凭借扩展Writer,恰好实现了该接口。这意味着你可以构造一个格式器,使其使用PrintWriter来完成它的脏作业,而不是通常在内部用于输出到文件的默认BufferedWriter。然而,这将是矫枉过正的,因为Print和BufferedWriter与异常处理,暴露的方法和性能有内在的差异,因为Formatter以相同的方式进行交互,所以打印输出最终是相同的。

相关问题