diff --git a/src/main/java/ReportGenerator.java b/src/main/java/ReportGenerator.java index 5443dec..87eb876 100644 --- a/src/main/java/ReportGenerator.java +++ b/src/main/java/ReportGenerator.java @@ -88,11 +88,19 @@ public class ReportGenerator { public void saveReport() { try { - // ساختن فایل خروجی متنی جدید به نام report.txt - FileWriter fileWriter = new FileWriter("report.txt"); + // برای اینکه فایل‌ها منظم باشند، ابتدا یک شیء پوشه به نام output تعریف می‌کنیم + java.io.File outputFolder = new java.io.File("output"); + + // اگر این پوشه از قبل وجود نداشته باشد، آن را می‌سازیم + if (!outputFolder.exists()) { + outputFolder.mkdir(); + } + + // حالا فایل report.txt را دقیقاً درون پوشه output می‌سازیم + FileWriter fileWriter = new FileWriter("output/report.txt"); PrintWriter printWriter = new PrintWriter(fileWriter); - // چاپ کردن اطلاعات داخل فایل دقیقا مثل ساختار نمونه + // چاپ کردن اطلاعات داخل فایل گزارش طبق فرمت نمونه printWriter.println("===== SALES REPORT ====="); printWriter.println(); printWriter.println("Total Quantity: " + totalQuantity); @@ -100,12 +108,12 @@ public class ReportGenerator { printWriter.println("Total Discount Value: " + totalDiscountValue); printWriter.println("Invalid Lines: " + totalInvalidLines); - // بستن پرینتر و رایتر برای اعمال نهایی و ذخیره شدن اطلاعات در هارد + // بستن بافرها برای اینکه اطلاعات کاملاً روی هارد ذخیره شوند printWriter.close(); fileWriter.close(); } catch (IOException e) { - // مدیریت خطای احتمالی موقع ساختن یا نوشتن در فایل + // اگر مشکلی در ساخت پوشه یا نوشتن فایل پیش آمد، اینجا مدیریت می‌شود System.err.println("Error writing report file: " + e.getMessage()); } }