Java – ByteArratinputstream

ByteArrayInputStream դասը թույլ է տալիս հիշողության բուֆերի օգտագործումը որպես InputStream: Մուտքային աղբյուրը բայթ զանգված է (byte array)։

ByteArrayInputStream դասը տրամադրում է հետեւյալ կոնստրուկտորները։

Sr.No.

Constructor and Description

1

ByteArrayInputStream(byte [] a)

Այս կոնստրուկտորը ընդունում է բայտ զանգված `որպես պարամետր:

2

ByteArrayInputStream(byte [] a, int off, int len)

Այս կոնստրուկտորը վերցնում է բայթերի զանգվածը և երկու ամբողջական արժեքներ, որտեղ off առաջին ընթերցվող բայթն է, իսկ len ընթեռնելի բայթերի քանակը:

Այն բանից հետո, երբ պատրաստ է ByteArrayInputStream օբյեկտը, առկա են մի շարք օգնական մեթոդներ, որոնք կարող են օգտագործվել հոսքը կարդալու կամ հոսքի հետ այլ գործողություններ կատարելու համար:

Sr.No.

Method & Description

1

public int read()

Այս մեթոդը ընթերցում է InputStream-ից տվյալների հաջորդ բայթը: Վերադարձնում է int որպես տվյալների հաջորդ բայթ: Եթե դա ֆայլի վերջն է, ապա այն վերադարձնում է -1:

2

public int read(byte[] r, int off, int len)

Այս մեթոդը ընթերցում է բայթերի քանակը մինչև len, սկսված off մուտքային հոսքից մինչև array: Վերադարձնում է կարդացած բայթերի ընդհանուր թիվը: Եթե դա ֆայլի վերջն է, ապա այն վերադարձնում է -1։

3

public int available()

Ներկայացնում է բայթերի քանակը, որոնք հնարավոր է կարդալ այս ֆայլի մուտքայի հոսքից: Վերադարձնում է int, որը տալիս է ընթեռնելի բայթերի քանակը:

4

public void mark(int read)

Սահմանում է հոսքի ընթացիկ դիրքերը: Պարամետրը տալիս են բայթի ընթեռնելի առավելագույն սահմանը, որը հնարավոր է կարդալ մինչև նշված դիրք չդառնա անվավեր։

5

public long skip(long n)

Շրջանցում է բայթերի ‘n’ թիվը հոսքից: Վերադարձնում է բաց թողնված բայթի փաստացի քանակը:

Հետևյալ օրինակը ներկայացնում է ByteArrayInputStream-ը և ByteArrayOutputStream-ը։

Օրինակ՝

import java.io.*;

public class ByteStreamTest {

 

public static void main(String args[])throws IOException {

ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12);

 

while( bOutput.size()!= 10 ) {

// Gets the inputs from the user

bOutput.write(“hello”.getBytes());

}

byte b [] = bOutput.toByteArray();

System.out.println(“Print the content”);

for(int x = 0 ; x < b.length; x++) {

// printing the characters

System.out.print((char)b[x] + ” “);

}

System.out.println(” “);

int c;

ByteArrayInputStream bInput = new ByteArrayInputStream(b);

System.out.println(“Converting characters to Upper case “ );

for(int y = 0 ; y < 1; y++) {

while(( c = bInput.read())!= 1) {

System.out.println(Character.toUpperCase((char)c));

}

bInput.reset();

}

}

}

Արդյունքը՝

Print the content

h e l l o h e l l o

Converting characters to Upper case

H

E

L

L

O

H

E

L

L

O