Я пытаюсь записать текстовый документ в определенном формате. Вот что я имею прямо сейчас.Невозможно добавить новую строку при многократном добавлении в строку
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";
Я тоже пробовал это с символом новой строки. До того, как он работал, когда оператор печати находился внутри цикла, это означало, что он написал только одну строку за раз. Я хочу сделать это так, потому что у меня будет несколько потоков, пишущих в этот файл, и таким образом любой поток не будет удерживать блокировку так долго.
Почему вы используете 'printf' вместо' println'? – Pshemo
Я посмотрел учебник о том, как писать в файл, и он сказал, что мне нужно использовать printf. Я предположил, что printf - это то, что было использовано. Можете ли вы использовать println с файловым/печатающим устройством? – bphand95
Да, вы должны иметь возможность использовать его без проблем с PrintWriter (который может обернуть FileWriter). – Pshemo