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 پاسخ 376 بازدید
0 امتیاز
1 پاسخ 1.5هزار بازدید
+1 امتیاز
1 پاسخ 801 بازدید
0 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 382 بازدید
0 امتیاز
1 پاسخ 2.4هزار بازدید
0 امتیاز
1 پاسخ 413 بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
...