مشخصات مقاله
آموزش Java – کار با کلاس BufferedInputStream
آموزش Java – کار با کلاس BufferedInputStream
کلاس BufferedInputStream در جاوا جهت خواندن اطلاعات از دنباله ای از بایت ها و ذخیره ی موقت آن ها در buffer بکار می رود. این کلاس همان طور که از اسم آن پیدا است، برای افزایش کارایی و سرعت به صورت داخلی از مکانیزم buffer و ذخیره موقت اطلاعات در حافظه واسط بهره می گیرد.
کلاس BufferedInputStream دو متد mark() و reset() را در اختیار توسعه دهنده قرار می دهد که توسعه دهنده با آن ها می تواند در stream مورد نظر به عقب پریده و داده هایی از آن را مجددا بخواند.
نکات مهمی که درباره ی BufferedInputStream باید بخاطر داشته باشید:
- به مجرد اینکه بایت هایی از stream خوانده یا نادیده (skip) گرفته می شود، buffer داخلی به اندازه ی لازم از input stream مورد نظر مجددا پر شده و در آن واحد تعداد زیادی بایت از این جریان ورودی خوانده می شود.
- زمانی که آّبجکتی از جنس کلاس BufferedInputStream در حافظه ایجاد می شود، به دنبال آن یک buffer array (آرایه ای در بافر) به صورت داخلی ایجاد شده که میزبان موقت داده های خوانده شده از input stream می باشد.
دستور تعریف کلاس BufferdInputStream در Java
در زیر نحوه ی تعریف کلاس Java.io.BufferedInputStream را مشاهده می کنید:
1 | public class BufferedInputStream extends FilterInputStream <button></button> |
توابع سازنده (Constructor) کلاس BufferdInputStream در Java
متدهای کلاس BufferedInputStream در Java
به عبارت دیگر این متد یک نقطه ی مشخص در ورودی (input stream) را نشانه گذاری می کند که به هنگام فراخوانی متد reset()، داده ها دوباره از آن نقطه (آخرین نقطه ای که متد mark در آن فراخوانی شده) خوانده می شوند.
مثال کاربردی از کلاس BufferedInputStream در Java
در زیر مثال ساده ای را مشاهده می کنید که در آن داده ها به واسطه ی آبجکت کلاس BufferedInputStream از فایل ورودی خوانده می شوند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package com.javatpoint; import java.io.*; public class BufferedInputStreamExample{ public static void main(String args[]){ try { FileInputStream fin= new FileInputStream( "D:\\testout.txt" ); BufferedInputStream bin= new BufferedInputStream(fin); int i; while ((i=bin.read())!=-1){ System.out. print ((char)i); } bin.close(); fin.close(); } catch (Exception e){System.out.println(e);} } } <button></button> |
در این مثال فرض را بر این می گذاریم که فایل "testout.txt" حاوی محتوای زیر می باشد:
1 | javaTpoint<button></button> |
خروجی:
1 | javaTpoint<button></button> |