کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Java – کار با کلاس BufferedOutputStream

آموزش Java – کار با کلاس BufferedOutputStream

کلاس BufferedOutputStream برای قرار دادن دنباله ای از بایت های خروجی (output stream) از دیسک در حافظه واسط و به اصطلاح بافر کردن محتوا بکار می رود. این کلاس همان طور که از اسم آن پیدا است از buffer برای ذخیره ی موقت داده ها از دیسک استفاده می کند. در واقع زمانی که از کلاس BufferedOutputStream استفاده می کنید، داده ها بجای اینکه مستقیما در output stream و فایل خروجی درج شود، در حافظه واسط بافر قرار می گیرد که این امر سرعت و کارایی بالاتر را برای اپلیکیشن به ارمغان می آورد.

به منظور افزودن buffer در OutputStream، لازم است از کلاس BufferedOutputStream استفاده شود. دستور اضافه کردن buffer در نمونه ای از کلاس OutputStream به شرح زیر می باشد:

OutputStream os= new BufferedOutputStream(new FileOutputStream("D:\\IO Package\\testout.txt"));  

دستور تعریف کلاس BufferedOutputStream در Java

در زیر دستور تعریف کلاس Java.io.BufferedOutputStream را مشاهده می کنید:

public class BufferedOutputStream extends FilterOutputStream  

توابع constructor کلاس BufferedOutputStream در Java

No.
تابع سازنده (Constructor)
شرح
1
BufferedOutputStream(OutputStream os)
یک output stream در حافظه ی بافر ایجاد کرده که داده های از دیسک خوانده شده در آن ریخته می شود و سپس از آنجا در فایل خروجی یا هر output stream دیگری درج می گردد.
به عبارت دیگر output stream بافر شده ی جدید را به وجود آورده و از آن برای نوشتن اطلاعات در output stream دلخواه استفاده می کند.
2
BufferedOutputStream(OutputStream os, int size)
یک output stream جدید در حافظه ی بافر به اندازه ی مشخص شده توسط پارامتر size ایجاد کرده، اطلاعات خوانده شده از دیسک را در آنجا موقتا ذخیره می کند.

متدهای کلاس BufferedOutputStream

No.
متد
شرح
1
void write(int b)
بایت مشخص شده (ارسال شده به عنوان آرگومان) را در output stream ایجاد شده در حافظه ی بافر درج می کند.
2
void write(byte[] b, int off, int len)
آرایه ای از بایت ها را بر اساس مقدار offset ارسال شده (فاصله از ابتدای آبجکت تا المان مورد نظر) و به اندازه ی طول مشخص شده در قالب آرگومان سوم در output stream موجود در بافر درج می کند.
3
void flush()
فراخوانی این تابع سبب می شود محتوای حافظه بافر تخلیه شده و در منبع خروجی مورد نظر درج شود.

مثال کاربردی از کلاس BufferedOutputStream

در مثال جاری، اطلاعات متنی را در آبجکت BufferedOutputStream که خود به نمونه ای از کلاس (آبجکت) FileOutputStream متصل بوده و آن را در تابع constructor خود به عنوان ورودی دریافت می کند، قرار می دهیم. متد flush() سبب می شود داده های بافر شده در output stream به منبع خروجی نهایی و مورد نظر انتقال داده شود. برای این منظور لازم است دو stream به یکدیگر متصل باشند.

package com.javatpoint;  
import java.io.*;  
public class BufferedOutputStreamExample{    
public static void main(String args[])throws Exception{    
FileOutputStream fout=new FileOutputStream("D:\\testout.txt");    
BufferedOutputStream bout=new BufferedOutputStream(fout);    
String s="Welcome to javaTpoint.";    
byte b[]=s.getBytes();    
bout.write(b);    
bout.flush();    
bout.close();    
fout.close();    
System.out.println("success");    
}    
}  

خروجی:

Success

فایل testout.txt:


Welcome to javaTpoint.
1396/08/22 3255 1578
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...