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

آموزش Java – I/O و عملیات ورودی و خروجی در Java

آموزش Java – I/O و عملیات ورودی و خروجی در Java

Java I/O برای پردازش ورودی و تولید خروجی بکار می رود.

Java با بهره گیری از مفهومی به نام stream (دنباله ای از داده ها با فرمت های مختلف برای مثال 8 بیتی/1 بایتی است که از منبعی خوانده شده یا در آن درج می شود) عملیات i/o را تسریع می بخشد. کلاس ها و توابع لازم برای پردازش ورودی و تولید خروجی در جاوا داخل پکیج java.io تعبیه شده است.

می توان با استفاده از توابع کتابخانه ای (API) I/O جاوا عملیات مربوط به فایل ها را مدیریت کرد (file handling).


شرح مفهوم Stream

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

جاوا سه stream را به صورت خودکار برای توسعه دهنده تولید می کند. تمامی این stream ها به کنسول مربوط می شوند.

  1. System.out: متنی را در خروجی چاپ می کند.
  2. System.In: ورودی را از طریق صفحه کلید از کاربر دریافت می کند.
  3. System.err: برای نمایش متن خطایی در خروجی (صفحه نمایش) بکار می رود.

در زیر کدی را مشاهده می کنید که یک پیغام معمولی و یک پیغام خطا را در کنسول چاپ می کند.

System.out.println("simple message");  
System.err.println("error message");  

در زیر کدی را مشاهده می کنید، که ورودی (input) را از کاربر دریافت می کند.

int i=System.in.read();//returns ASCII code of 1st character  
System.out.println((char)i);//will print the character  

شرح تفاوت های موجود بین OutputStream و InputStream

  1. کلاس OutputStream

    اپیلکیشن مبتنی بر Java با استفاده از OutputStream داده هایی (دنباله ای از بایت ها) را در مکان مورد نظر (مقصد خروجی) که می تواند یک فایل، آرایه، دستگاه جانبی یا سوکت باشد، درج می کند (write).

  2. کلاس InputStream

    اپلیکیشن های مبتنی بر Java با استفاده از کلاس InputStream داده هایی را از منبع مورد نظر که می تواند یک آرایه، فایل، دستگاه جانبی یا سوکت باشد، می خواند.


    نمودار زیر عملکرد دو کلاس نام برده را به صورت تصویری به نمایش می گذارد.

    آموزش Java

کلاس OutputStream و متدهای آن

کلاس OutputStream یک کلاس abstract است. در واقع این کلاس پدر تمامی کلاس هایی است که stream ای از بایت ها را در منبع خروجی درج می کنند. output stream بایت های خروجی را گرفته و آن را به مقصد ارسال می کند.


متدهای کاربردی کلاس OutputStream

No.
متد
شرح
1
public void write(int)throws IOException
یک بایت داده ای (ارسال شده در قالب int) را در فایل خروجی (output stream) درج می کند.
2
public void write(byte[])throws IOException
آرایه ای از بایت ها را به صورت یکجا در فایل خروجی درج (output stream) می کند.
3
public void flush()throws IOException
سبب می شود محتوای output stream جاری خالی شده و داده های بافر شده همگی در مقصد نهایی خود درج شوند.
4
public void close()throws IOException
Output stream یا فایل خروجی جاری را می بندد و تمامی منابع تخصیص یافته به فایل را آزاد می کند.

سلسله مراتب و نمودار درختی کلاس های ارث برنده از OutputStream


آموزش Java

کلاس InputStream

کلاس InputStream نیز یک کلاس abstract هست که تمامی کلاس هایی که دنباله ای از بایت ها را از منبع ورودی دریافت می کنند و با input stream سروکار دارند، از آن ارث بری می کنند.


متدهای کاربردی کلاس InputStream

No.
متد
شرح
1
public abstract int read()throws IOException
بایت داده ای بعدی را از فایل ورودی (دنباله ی بایتی ورودی) خوانده و دریافت می کند. اگر به انتهای جریان رسیده باشد یا در انتهای فایل باشد، مقدار -1 را برمی گرداند.
2
public int available()throws IOException
تعداد بایت هایی که باید از فایل ورودی جاری خوانده شود را برآورد کرده و آن را در قالب یک int در خروجی برمی گرداند.
3
public void close()throws IOException
فایل ورودی جاری را پس از اتمام کار می بندد.

سلسله مراتب و نمودار درختی کلاس های ارث برنده از InputStream

آموزش Java
1396/08/22 7271 1771
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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