java, جاوا, فایل در جاوا

کپی کردن فایل در جاوا با FileStream (آموزش Copy file)

کپی کردن فایل در جاوا با FileStream

در این جلسه تیم کدگیت را با آموزش کپی کردن فایل در جاوا با FileStream همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با فایل
  2. آشنایی با متد

فایل

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

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

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

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

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

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

کپی کردن فایل در جاوا با FileStream

برای کپی کردن فایل در جاوا با FileStream ابتدا باید دو فایل مبدا و مقصد را تعریف کنیم. سپس یک inputstream برای فایل مبدا و یک outputstream برای فایل مقصد میسازیم. در روش stream ما شروع به خواندن از فایل مبدا و ریختن مقدار خوانده شده در مقصد می کنیم.

کد کپی کردن فایل در جاوا با FileStream به صورت زیر است:

private static void copyFileUsingFileStreams(File source, File dest)

     throws IOException {

          InputStream input = null;

          OutputStream output = null;

          try {

              input = new FileInputStream(source);

              output = new FileOutputStream(dest);

              byte[] buf = new byte[1024];

              int bytesRead;

              while ((bytesRead = input.read(buf)) > 0) {

                   output.write(buf, 0, bytesRead);

              }

          } finally {

              input.close();

              output.close();

          }

     }

همانطور که در کد بالا میبینید ما یک متد نوشتیم که دو ورودی فایل مبدا (src) و مقصد(dest) میگیرد. برای فایل مبدا یک inputstream و برای فایل مقصد یک outputstream میسازیم. ما آرایه ای از byte را به عنوان یک buffer استفاده کردیم و اطالاعات از فایل مبدا را در این آرایه میریزیم و بعد از خواندن هر بار آن را در فایل مقصد مینویسیم.

تست کپی کردن فایل در جاوا با FileStream

برای تست کدهای توضیح داده شده در برنامه خود main زیر را بنویسید.

public static void main(String[] args) {

          File source = new File("src.txt");
          File dest = new File("dest.txt");


          try {
              copyFileUsingFileStreams(source, dest);
          } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }




     }

نوشته های مشابه

دیدگاهتان را بنویسید

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