【发布时间】:2015-07-31 12:14:11
【问题描述】:
我正在尝试写入具有特定格式的文本文档。这是我现在拥有的。
String line = "";
double totalCost = 0;
Node curr = summary.head.next;
while(curr!=summary.tail)
{
line += [an assortment of strings and variables] +"\r";
totalCost += PRICELIST.get(curr.itemName)*curr.count;
curr = curr.next;
}
write.printf("%s" + "%n", line);
这就是添加到线上的部分的实际样子。
"Item's name: " + curr.itemName + ", Cost per item: " + NumberFormat.getCurrencyInstance().format(PRICELIST.get(curr.itemName)) +
", Quantity: " + curr.count + ", Cost: " + NumberFormat.getCurrencyInstance().format(PRICELIST.get(curr.itemName)*curr.count) + "\r";
我也试过换行符。在我让它工作之前,当 print 语句在循环内意味着它一次只写一行。我想这样做是因为我将有多个线程写入这个文件,这样任何线程都不会长时间持有锁。
【问题讨论】:
-
你为什么用
printf而不是println? -
我看了一个关于如何写入文件的教程,它说我必须使用 printf。我认为 printf 只是使用的东西。您可以将 println 与文件写入器/打印写入器一起使用吗?
-
是的,您应该可以毫无问题地使用 PrintWriter(可以包装 FileWriter)。
标签: java multithreading io