خواندن فایل (Read Files)
اینجا «خواندن فایل جاوا» را خیلی راحت تمرین می کنیم. «فایل (File)» یعنی داده روی دیسک. «اسکنر (Scanner)» ابزاری برای خواندن متن است. همچنین «try-with-resources» بستن خودکار منبع را انجام می دهد.
خواندن فایل با Scanner
در این مثال، با Scanner فایل را خط به خط می خوانیم. سپس هر خط را چاپ می کنیم. اگر فایل پیدا نشود، پیام خطا می گیریم.
مثال
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFile {
  public static void main(String[] args) {
    File myObj = new File("filename.txt");
    try (Scanner myReader = new Scanner(myObj)) {
      while (myReader.hasNextLine()) {
        String data = myReader.nextLine();
        System.out.println(data);
      }
    } catch (FileNotFoundException e) {
      System.out.println("An error occurred.");
      e.printStackTrace();
    }
  }
}
نکته: خواندن فایل جاوا را می توان همراه try-with-resources امن تر کرد.
گرفتن اطلاعات فایل
با متدهای کلاس File می توان نام، اندازه، مسیر و دسترسی ها را دید.
مثال
import java.io.File;
public class GetFileInfo {
  public static void main(String[] args) {
    File myObj = new File("filename.txt");
    if (myObj.exists()) {
      System.out.println("File name: " + myObj.getName());
      System.out.println("Absolute path: " + myObj.getAbsolutePath());
      System.out.println("Writeable: " + myObj.canWrite());
      System.out.println("Readable: " + myObj.canRead());
      System.out.println("File size in bytes: " + myObj.length());
    } else {
      System.out.println("The file does not exist.");
    }
  }
}
راه های دیگر خواندن فایل
- Scanner: ساده برای متن و پارس عدد یا کلمه.
- BufferedReader: سریع برای فایل های متنی بزرگ.
- FileInputStream: مناسب داده باینری مثل تصویر و صوت.
نکته: بعداً می توانی حذف فایل را در حذف فایل ببینی. نوشتن فایل هم در نوشتن فایل آمده است. مرور کلی در کار با فایل است.
سه گام عملی
- یک شیء Fileبا مسیر درست بساز.
- با Scannerیا ابزار مناسب باز کن.
- خطوط را بخوان و در پایان منبع را ببند.
هشدار: مسیر اشتباه یا دسترسی ناکافی باعث خطا می شود. پیام خطا را بررسی کن.
جمع بندی سریع
- برای متن ساده از Scannerاستفاده کن.
- try-with-resourcesبستن خودکار را تضمین می کند.
- متدهای Fileاطلاعات مفید فایل را می دهند.
- برای باینری از FileInputStreamکمک بگیر.
