تصویر فایل در جاوا

خواندن و نوشتن فایل در جاوا

خواندن و نوشتن فایل در جاوا

در این آموزش میخوام به شما خواندن و نوشتن فایل در جاوا یاد بدهم.

فایل

در فرهنگ رایانه، پرونده یا فایل: به کوچک‌ترین واحد منطقی ذخیره‌سازی بر روی دیسک گفته می‌شود که کاربر یا برنامه‌ساز، قادر به مشاهده و دستکاری آن است.

در یک تعریف کلی، فایل مجموعه‌ای است دارای یک نام (و معمولاً دارای یک ساختار درونی مشخص) از نمونه‌های مختلف یک یا چند نوع رکورد. البته ممکن است فایل اصلاً مجموعه‌ای از رکوردها نباشد، بلکه صرفاً دنباله‌ای بی‌ساختار از نویسه‌ها باشد که از نظر سیستم فایل، معنای خاصی هم ندارند.

تعریف بالا در سایت ویکیپدیا آمده است.

فایلها به دسته های مختلفی تقسیم میشوند:

  1. فایل متنی
  2. فایل صوتی
  3. فایل تصویری
  4. فایل اجرایی

در این آموزش ما به خواندن و نوشتن فایل متنی در جاوا میپردازیم.

پیاده سازی خواندن فایل در جاوا

در جاوا راههای زیادی برای خواندن فایل وجود دارد. یکی از راه ها، استفاده از کلاس BufferedReader است. کلاس BufferedReader  برای خواندن یک متن از ورودی stream شده است. در این جا ما با استفاده از این کلاس میتوانیم یک فایل متنی را بخوانیم.کلاس های دیگری که استفاده میکنیم(در انتها لینک برای یادگیری این کلاس ها آورده شده است):

  1. File
  2. FileReader

کد خواندن فایل به شکل زیر است:

public class TestReadTextFile {

     /**

      * @param args

      */

     public static void main(String[] args) {

          try {

              File file = new File(“D:\\read file.txt”);

              if (file.exists()) {

                   System.out.println(“****** Reading file … ******”);

                   BufferedReader buffer = new BufferedReader(new FileReader(file));

                   String line;

                   while ((line = buffer.readLine()) != null) {

                        System.out.println(line);

                   }

                   System.out.println(“****** Finish Reading file ******”);

              }else{

                   System.out.println(file.getAbsolutePath()+” not exist”);

              }

          } catch (FileNotFoundException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

          } catch (IOException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

          }

     }

}

همانطور که در کد هم مشاهده میکنید ما از متدهای آماده در کلاس فایل و بافرریدر استفاده کردیم.متدهای استفاده شده شامل:

  • ()Exist: اگر فایل مورد نظر وجود داشته باشد true و در غیر این صورت false برمیگرداند.
  • ()readLine: در فایل مشخص شده یک خط را میخواند و به سر خط بعد میرود.

پیاده سازی نوشتن فایل در جاوا

برای نوشتن در فایل از کلاس bufferedwriter استفاده میشود. Bufferedwriter یک کلاس برای کنترل داده های کاراکتریست. با استفاده از این کلاس میتوانیم String و آرایه و … را به صورت مستقیم در فایل ذخیره کنیم. کلاس های دیگری که استفاده میکنیم(در انتها لینک برای یادگیری این کلاس ها آورده شده است):

  • File
  • FileWriter

کد نوشتن در  فایل به شکل زیر است:

public class TestWriteTextFile {

     /**

      * @param args

      */

     public static void main(String[] args) {

          try {

              File file = new File(“D:\\write file.txt”);

              if (!file.exists()) {

                   file.createNewFile();

                   System.out.println(“creating new file”);

              }else{

                   System.out.println(“updating file”);

              }

              BufferedWriter buffer = new BufferedWriter(new FileWriter(file));

              buffer.write(“hello”);

              buffer.close();

              System.out.println(“finish writing to file”);

          } catch (IOException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

          }

     }

}

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

  •  ()Close: بافر ایجاد شده را میبندد.
  • ()Write: نوشتن یک سطر ساده
  • ()newline: رفتن به سطر بعدی در فایل( در کد باید بنویسیم ()newLine)

لینک های کمکی:

لینک bufferedwriter

لینک File 

لینک FileWriter

لینک منبع

 

2 دیدگاه برای “خواندن و نوشتن فایل در جاوا

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *