BufferedReader
می خواهی متن را سریع و راحت بخوانی؟ با BufferedReader آشنا شو. «بافر (Buffer)» یعنی یک حافظه موقت کوچک. اول داده ها آنجا جمع می شوند، سپس یک جا خوانده می شوند. بنابراین، خواندن فایل های متنی سریع تر و کم هزینه تر می شود.
خواندن فایل با BufferedReader (خط به خط)
اینجا با BufferedReader و FileReader هر خط را می خوانیم. این روش مثل خواندن برگه های امتحان، خط به خط است.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Error reading file.");
}
}
}
گام های عملی
- مسیر فایل متنی را مشخص کن.
- FileReader و سپس BufferedReader را بساز.
- با readLine بخوان و بعد چاپ کن.
نکته: از try-with-resources استفاده کن تا Reader خودش بسته شود.
هشدار: اگر مسیر اشتباه باشد، خواندن ممکن نیست. پیام خطا را بررسی کن.
مقایسه روش های خواندن فایل
برای متن ساده، Scanner راحت است. برای متن های بزرگ، BufferedReader سریع تر است. برای فایل های باینری، به FileInputStream سر بزن. برای نوشتن بایت ها هم FileOutputStream مناسب است. نوشتن متنی بهینه؟ BufferedWriter عالی است.
جمع بندی سریع
- BufferedReader متن را خط به خط می خواند.
- به خاطر بافر، سرعت بهتر می شود.
- برای فایل بزرگ، انتخاب بهتری است.
- همیشه Reader را به موقع ببند.