0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

وقتی با استفاده از کلاس Formatter می خواهم درون یک فایل اطلاعاتی بنویسم، اطلاعات قبلی موجود در فایل پاک می شود.

Formatter formatter = new Formatter("file-path");
formatter.format("%s","test");
formatter.close();

چگونه می توانم با استفاده از Formatter فقط به انتهای فایل اطلاعات اضافه کنم؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

کلاس formatter همیشه محتویات درون فایلی که باز می کند را پاک می کند، مگر اینکه بعنوان constructor از یک outputstream استفاده کنیم که اینترفیس Appendable را پیاده سازی کرده باشد (مثل کلاس FileWriter).

FileWriter fileWriter = new FileWriter(fileName, true); 
Formatter formatter = new Formatter(fileWriter);
formatter.format("%s","test");

برای performance بهتر می توانیم از BufferedWriter نیز استفاده کنیم:

FileWriter fileWriter = new FileWriter(fileName, true); 
Formatter formatter = new Formatter(new BufferedWriter(fileWriter));
formatter.format("%s","test");

سوالات مشابه

0 امتیاز
0 پاسخ 451 بازدید
0 امتیاز
1 پاسخ 1.6هزار بازدید
+1 امتیاز
1 پاسخ 914 بازدید
0 امتیاز
1 پاسخ 1.6هزار بازدید
0 امتیاز
1 پاسخ 482 بازدید
0 امتیاز
1 پاسخ 2.5هزار بازدید
0 امتیاز
1 پاسخ 527 بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
...