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

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

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

کلاس DataInputStream این امکان را برای اپلیکیشن فراهم می کند تا داده هایی از نوع اولیه (primitive) را از input stream (برای مثال فایل ورودی) به صورت کاملا مستقل از ماشین (قابل فهم و اجرا بر روی بسترهای مختلف و مستقل از platform) بخواند.

اپلیکیشن ها معمولا با استفاده از کلاس data output stream داده هایی از نوع اولیه را به متغیرهای قابل استفاده در output stream های مختلف که مستقل از ماشین هستند تبدیل نموده (در آن ها درج می کند) و سپس همین داده ها را مجددا به وسیله ی آبجکت کلاس data input stream می خواند.

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

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

public class DataInputStream extends FilterInputStream implements DataInput  

متدهای کلاس DataInputStream

No.
متد
شرح
1
int read(byte[] b)
این تابع تعدادی بایت آرایه را از input stream خوانده و آن ها را در آرایه ی بایتی b (آرگومان ورودی) ذخیره می کند.
2
int read(byte[] b, int off, int len)
به تعداد مشخص شده بایت داده از input stream مورد نظر خوانده و خواندن را از نقطه ی معین شده توسط پارامتر off آغاز می کند و سپس این بایت ها را در آرایه ای از بایت ها (پارامتر byte[] b) ذخیره می کند.
3
int readInt()
تعداد معینی بایت ورودی خوانده و در خروجی یک مقدار int برمی گرداند.
4
byte readByte()
این متد یک بایت داده ای را خوانده و آن را در خروجی (از نوع byte) برمی گرداند.
5
char readChar()
این متد دو بایت داده ای خوانده و در خروجی یک مقدار char برمی گرداند.
6
double readDouble()
متد مزبور 8 بایت داده از ورودی خوانده و در خروجی یک مقدار از نوع Double برمی گرداند.
7
boolean readBoolean()
این تابع یک بایت داده ای از ورودی خوانده و اگر byte غیر 0 باشد، مقدار بولی true و در غیر این صورت false را برمی گرداند.
8
int skipBytes(int x)
این تابع بر اساس مقدار پارامتر x، تعدادی بایت از ورودی (input stream) را نادیده گرفته و آن ها را نمی خواند.
9
String readUTF()
یک رشته که بر اساس فرمت UTF-8 کدگذاری شده است را می خواند.
10
void readFully(byte[] b)
بایت های موجود در input stream را خوانده و آن ها را در آرایه ی تعریف شده در buffer (buffer array) که آرگومان byte[] b می باشد، ذخیره می کند.
11
void readFully(byte[] b, int off, int len)
این متد بر اساس مقدار len، تعدادی بایت از نقطه ی مشخص شده (مقدار off) را از input stream مورد نظر خوانده و آن ها را در byte[] b ذخیره می کند.

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

در این مثال توسعه دهنده به واسطه ی نمونه ای از کلاس DataInputStream داده های مورد نظر را از فایل testout.txt می خواند.

package com.javatpoint;  
import java.io.*;    
public class DataStreamExample {  
public static void main(String[] args) throws IOException {  
InputStream input = new FileInputStream("D:\\testout.txt");  
DataInputStream inst = new DataInputStream(input);  
int count = input.available();  
byte[] ary = new byte[count];  
inst.read(ary);  
for (byte bt : ary) {  
char k = (char) bt;  
System.out.print(k+"-");  
}  
}  
}  

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

JAVA

خروجی:

J-A-V-A
1396/08/22 3194 1500
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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