私はファイルに注文書を書きます。たとえば、ファイルに注文があり、注文番号が1の場合、ユーザーが別の注文を追加して保存を押すと、注文はその日付の注文番号2として.txtファイルに保存されます。私のfileWriterは注文番号1と同じ行にファイルを書きました。私のDaoImplを見てください。ありがとう。注文番号のある.txtファイルへの書き込み方法
private void writeOrder(LocalDate date) throws OrderPersistenceException, IOException {
PrintWriter out;
try {
out = new PrintWriter(new FileWriter(getFilePath(date)));
} catch (IOException ex) {
throw new OrderPersistenceException("file");
}
List<Order> orderList = new ArrayList<>(orderMap.values());
for (Order currentOrderList : orderList) {
out.print(currentOrderList.getOrderNumber() + DELIMITER
+ currentOrderList.getCustomerName() + DELIMITER
+ currentOrderList.getState() + DELIMITER
+ currentOrderList.getTaxRate() + DELIMITER
+ currentOrderList.getProductType() + DELIMITER
+ currentOrderList.getArea() + DELIMITER
+ currentOrderList.getCostPerSquareFoot() + DELIMITER
+ currentOrderList.getLaborCostPerSquareFoot() + DELIMITER
+ currentOrderList.getMeterialCost() + DELIMITER
+ currentOrderList.getTotalTax() + DELIMITER
+ currentOrderList.getTotal());
out.flush();
}
out.close();
}
public void saveWork(LocalDate date) throws OrderPersistenceException, IOException {
writeOrder(date);
}
@Override
public Order addOrder(Order order) throws OrderPersistenceException {
long orderNumber = ordernumberIncrease(order);
Order newOrder = orderMap.put(orderNumber, order);
return newOrder;
}
public Long ordernumberIncrease(Order order) {
long orderNumber = orderNumInc++;
order.setOrderNumber(orderNumber);
return orderNumber;
}
ようこそスタックオーバーフロー!あなたはあなたの質問に多くのコードを書いているので、私たち(そして将来の読者)にはどこに問題があるのかがはっきりしません。問題のコードを10行以下に減らしてください。参照:[最小限で完全で検証可能な例の作成方法](http://stackoverflow.com/help/mcve)と[小規模プログラムのデバッグ方法](https://ericlippert.com/2014/03/05)/how-to-debug-small-programs /)を実行します。 –
私はそれを減らしました。うまくいけばあまりにも多くはありません。お返事ありがとうございます。 – Rnhep