【发布时间】:2014-01-05 10:54:12
【问题描述】:
我有以下方法:
public void writeToFile(
String id,
String no,
int systol,
int diastol,
int pulsDiff,
double speedAvg,
double spread
) {
String line =
id + "\t" + no + "\t" + systol + "/" + diastol + "\t" + pulsDiff
+ "\t" + speedAvg + "\t" + spread + "\r\n";
File fil = new File("resultat.txt");
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(fil, true));
writer.write(line);
writer.close();
} catch (Exception e) {
System.err.println("Fejl: " + e.getMessage());
}
这可以用不同的方式完成吗?用一些不同的方法?这样做有什么好处?
我试图了解拥有bufferedWriter 的优势。我还处于起步阶段,正在努力理解这句话:”
通常,Writer 将其输出立即发送到底层字符或字节流。除非需要快速输出,否则建议将 BufferedWriter 包装在任何 write() 操作可能成本高昂的 Writer 周围,例如 FileWriters 和 OutputStreamWriters。例如,
PrintWriter out = new PrintWriter(new BufferedWriter(new
FileWriter("foo.out")));
会将 PrintWriter 的输出缓冲到文件中。如果没有缓冲,每次调用 print() 方法都会导致字符转换为字节,然后立即写入文件,这可能非常低效。
尤其是“一般来说,Writer 将其输出立即发送到底层字符或字节流”部分。
【问题讨论】:
标签: java printwriter bufferedwriter