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

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

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

کلاس FilterInputStream خود میزبان inputstream های دیگر بوده، از آن ها به عنوان منبع داده ای اصلی خود استفاده می کند و این احتمال وجود دارد که داده ها را در طول مسیر تبدیل کرده (تغییر شکل دهد) یا قابلیت های جدید اضافه کند. کلاس FilterInputStream تمامی متدهای InputStream را در سطح خود بازنویسی کرده و ورژن هایی از این متدها را پیاده سازی می کند که تمامی request ها را به input stream مورد نظر، ارسال می نماید. کلاس های مشتق شده از FilterInputStream ممکن است این متدها را بیشتر بازنویسی (override) و اصلاح کرده و تعدادی متد و فیلد اختصاصی خود را اضافه کنند.

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

دستور تعریف کلاس java.io.FilterInputStream به شرح زیر می باشد:

public class FilterInputStream extends InputStream  

متدهای کلاس FilterInputStream

No.
متد
شرح
1
int available()
تعداد بایت هایی باقی مانده و خوانده نشده از input stream را محاسبه کرده و آن را در قالب عدد صحیح برمی گرداند.
2
int read()
این تابع بایت بعدی از داده های موجود در input stream را می خواند.
3
int read(byte[] b)
این تابع بایت هایی را به اندازه ی طول آرایه (byte.length) از input stream می خواند.
4
long skip(long n)
این تابع بر اساس مقدار پارامتر long n تعدادی بایت را input stream مورد نظر نادیده گرفته و آن ها را نمی خواند.
5
boolean markSupported()
تابع حاضر بررسی می کند آیا input stream مورد نظر از عملیات mark و reset پشتیبانی می کند یا خیر.
6
void mark(int readlimit)
این تابع محل خواندن داده ها در input stream را تنظیم می کند (مشخص می کند داده ها از کدام نقطه تا نهایتا کدام نقطه می تواند داده ها را خوانده و نشانه گذاری کند).
7
void reset()
این تابع محل خواندن داده ها در input stream را به نقطه ای که تابع mark در آنجا صدا زده شده برگردانده و داده ها را مجددا می خواند.
8
void close()
این تابع input stream را می بندد.

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

import java.io.*;  
public class FilterExample {  
public static void main(String[] args) throws IOException {  
File data = new File("D:\\testout.txt");  
FileInputStream  file = new FileInputStream(data);  
FilterInputStream filter = new BufferedInputStream(file);  
int k =0;  
while((k=filter.read())!=-1){  
System.out.print((char)k);  
}  
file.close();  
filter.close();  
}  
}  

در مثال حاضر فرض را بر این می گذاریم که فایل "testout.txt" دارای محتوای زیر می باشد:

Welcome to javatpoint

خروجی:

Welcome to javatpoint
1396/08/22 2720 1394
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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