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

آموزش Java - کلاس FileInputStream در Java

آموزش Java - کلاس FileInputStream در Java

کلاس FileInputStream بایت هایی ورودی را از یک فایل خوانده و بازیابی می کند. نمونه ی این کلاس قادر است یک جریان ورودی تعریف کرده و یک فایل به عنوان منبع این جریان تنظیم و ایجاد کند. از کلاس FileInputStream برای خواندن داده های مبتنی بر بایت (دنباله ای از بایت های خام) نظیر اطلاعات تصویری، صوتی، ویدئو و غیره ... استفاده می شود.

اگرچه می توان برای خواندن دنباله ای از کاراکترها (character-stream)، همین کلاس را مورد استفاده قرار داد، اما توصیه می شود از کلاس FileReader که ویژه ی این منظور طراحی شده، استفاده نمایید.

دستور تعریف و استفاده از کلاس FileInputStream در Java

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

public class FileInputStream extends InputStream

متدهای کلاس FileInputStream در Java

No.
متد
شرح
1
int available()
تعداد بایت های موجود در جریان ورودی را برآورد کرده و آن را در قالب عدد صحیح به عنوان خروجی برمی گرداند. به عبارت دیگر تعداد بایت هایی که از فایل ورودی (input stream) قابل خواندن می باشد را برمی گرداند.
2
int read()
دنباله ای از بایت های داده ای را از فایل ورودی می خواند. در واقع بایت بعدی که باید از جریان ورودی خوانده شود را بازیابی می کند و در صورت رسیدن به انتهای فایل یا جریان ورودی مقدار 1- را برمی گرداند.
3
int read(byte[] b)
این متد بر اساس مقدار پارامتر byte[] b، به اندازه ی تعداد المان ها یا طول آرایه، دنباله ای از بایت های داده ای را فایل ورودی می خواند.
4
int read(byte[] b, int off, int len)
به اندازه ی طول آرایه (مشخص شده در پارامتر ورودی) و بر اساس مقدار offset (فاصله از اول تا مکان مورد نظر در آبجکت) داده هایی را از فایل ورودی (input stream) می خواند.
5
long skip(long x)
بر اساس مقدار پارامتر long x، تعداد معینی بایت را از فایل ورودی نادیده گرفته و دور می ریزد.
6
FileChannel getChannel()
این تابع آبجکت FileChannel متناظر و یکتای فایل ورودی را بازمی گرداند.
7
FileDescriptor getFD()
It is used to return the FileDescriptor object.
آّبجکت FileDescriptor متناظر که نشانگر connection به فایل فیزیکی در سیسم فایل مورد استفاده FileInputStream جاری می باشد را برمی گرداند.
8
protected void finalize()
این متد اطمینان حاصل می کند قبل از اینکه متد close فراخوانی شود، هیچ اشاره گری به فایل ورودی وجود نداشته باشد و جریان ورودی حتما بسته شده باشد. در واقع به هنگام اتمام کار با جریان ورودی و آزاد شدن منابع سیستمی، فایل ورودی بسته شده باشد.
9
void close()
جریان ورودی یا فایل ورودی را می بندد و منبع اختصاص یافته را آزاد می سازد.

مثال کاربردی 1 از FileInputStream: خواندن یک کاراکتر از فایل

import java.io.FileInputStream;  
public class DataStreamExample {  
public static void main(String args[]){    
try{    
FileInputStream fin=new FileInputStream("D:\\testout.txt");    
int i=fin.read();  
System.out.print((char)i);    
fin.close();    
}catch(Exception e){System.out.println(e);}    
}    
}  
نکته:

قبل از اجرای کد، لازم است یک فایل به نام "testout.txt" ایجاد شود. در این فایل، محتوای زیر وجود دارد:

Welcome to javatpoint.

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


خروجی:

W

مثال کاربردی 2 از FileInputStream در جاوا: خواندن تمامی کاراکترها از فایل ورودی

package com.javatpoint;  
import java.io.FileInputStream;  
public class DataStreamExample {  
public static void main(String args[]){    
try{    
FileInputStream fin=new FileInputStream("D:\\testout.txt");    
int i=0;    
while((i=fin.read())!=-1){    
System.out.print((char)i);    
}    
fin.close();    
}catch(Exception e){System.out.println(e);}    
}    
}  

خروجی:

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

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