BufferedWriter
می خواهی متن را سریع بنویسی؟ «بافر (Buffer)» یعنی حافظه موقت. BufferedWriter متن را اول در بافر می گذارد، سپس یک جا روی فایل می نویسد. پس سرعت بهتر می شود و نوشتن فایل روان تر است.
نوشتن فایل با BufferedWriter
با BufferedWriter و FileWriter متن را خط به خط می نویسیم. متد write() متن می نویسد و newLine() یک خط جدید اضافه می کند.
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("filename.txt"))) {
bw.write("First line");
bw.newLine();
bw.write("Second line");
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("Error writing file.");
}
}
}
گام های عملی
- نام فایل مقصد را مشخص کن.
- FileWriter و سپس BufferedWriter را بساز.
- با write بنویس و با newLine خط عوض کن.
نکته: از try-with-resources استفاده کن تا Writer خودش بسته شود.
هشدار: اگر فایل وجود داشته باشد، محتوایش جایگزین می شود.
اضافه کردن به انتهای فایل (Append)
اگر نمی خواهی محتوا حذف شود، FileWriter را در حالت append بساز. آرگومان دوم را true بده.
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("filename.txt", true))) {
bw.newLine();
bw.write("Appended line");
System.out.println("Successfully appended to the file.");
} catch (IOException e) {
System.out.println("Error writing file.");
}
}
}
کِی از کدام ابزار استفاده کنیم؟
برای متن ساده، FileWriter کافی است. برای متن های بزرگ، BufferedWriter سریع تر و خوش دست است. برای فایل های باینری، به FileOutputStream برو. برای خواندن سریع، BufferedReader مناسب است.
جمع بندی سریع
- BufferedWriter نوشتن را سریع تر می کند.
- newLine خط جدید می سازد.
- حالت append داده قبلی را نگه می دارد.
- try-with-resources بستن خودکار می دهد.