私は、txtファイルに注文を書き込むjavafxアプリケーションを作成しました。その後、txtファイルをテキストエリアに読み込んでいます。 私のコードが動作していて、ファイルを印刷していますが、私はそれをcorectlyでどのようにフォーマットするのか分かりません。私はそれを間違って書いていますか?任意のヘルプが評価されますテキストファイルに書き込んでからテキストエリアに読み返すjavafx
これは、ファイルに書き込むコードの主要部分です。
Date date = new Date();
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
BufferedWriter bf = new BufferedWriter(new FileWriter("receipt.txt"));
bf.write("*************SHERIDAN BAGEL SHOP*************,");
bf.newLine();
bf.write(ft.format(date));
bf.newLine();
bf.write("Item:\t\t\tQty\tAmount,");
bf.newLine();
bf.write("\t\t\t\t-----------");
bf.newLine();
bf.write("Pretax Total\t\t\t$"+df.format(cost)+",");
bf.newLine();
bf.write("Sales Tax 13%\t\t\t$"+df.format(calctax)+",");
bf.newLine();
bf.write("Total Sale\t\t\t$"+df.format(calctotal)+",");
bf.newLine();
bf.write("*********THANK YOU FOR YOUR ORDER*********,");
bf.close();
これは、このファイルを読み取るコード
@FXML
private TextArea receipt;
public void ViewReceipt() {
try {
Scanner s = new Scanner(new File("receipt.txt"));
while (s.hasNext()) {
receipt.appendText(s.nextLine()+"\n");
}
} catch (FileNotFoundException ex) {
System.err.println(ex);
}
}
テキストファイルで出力
*************SHERIDAN BAGEL SHOP*************,
Sat 2017.04.01 at 01:06:57 PM EDT
Item: Qty Amount,
-----------
Pretax Total $0.00,
Sales Tax 13% $0.00,
Total Sale $0.00,
*********THANK YOU FOR YOUR ORDER*********,
である。これは、それがテキストエリアに
*************SHERIDAN BAGEL SHOP*************,
Sat 2017.04.01 at 01:06:57 PM EDT
Item: Qty Amount,
-----------
Pretax Total $0.00,
Sales Tax 13% $0.00,
Total Sale $0.00,
*********THANK YOU FOR YOUR ORDER*********,
ある方法です
;?私はファイルから行を読み込み、その行をtextAreaに追加します。なぜそれがまったく同じではないのか分かりません。 .useDelimiterを削除し、appendText(s.next())を変更します。 appendText(s.nextLine()): – Sedrick
私はそれを試みましたが、すべてを1行に印刷します。 –
私はファイルへの書き込み方法を信じています。 –