Java ByteArrayOutputStream (koos näidetega)

Selles õpetuses õpime näidete abil Java ByteArrayOutputStreami ja selle meetodeid.

ByteArrayOutputStreamKlassi java.iopakett saab kasutada kirjutada array toodangu andmed (baitides).

See laiendab OutputStreamabstraktset klassi.

Märkus : In ByteArrayOutputStreamsäilitab andmete salvestamiseks sisemist baitide massiivi.

Looge ByteArrayOutputStream

Baidimassiivi väljundvoo loomiseks peame java.io.ByteArrayOutputStreamesmalt paketi importima . Kui pakett on imporditud, saame väljundvoo luua järgmiselt.

 // Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream(); 

Siin oleme loonud väljundvoo, mis kirjutab andmed vaikimisi suurusega 32 baiti baitide massiivi. Kuid saame muuta massiivi vaikimisi suurust.

 // Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size); 

Siin määrab suurus massiivi pikkuse.

ByteArrayOutputStreami meetodid

ByteArrayOutputStreamKlassi annab rakendamise erinevaid meetodeid olemas OutputStreamklassis.

kirjuta () meetod

  • write(int byte) - kirjutab määratud baidi väljundvoogu
  • write(byte() array) - kirjutab baidid määratud massiivist väljundvoogu
  • write(byte() arr, int start, int length) - kirjutab baitide arvu, mis on võrdne väljundvooluga massiivist alates positsiooni algusest
  • writeTo(ByteArrayOutputStream out1) - kirjutab kogu praeguse väljundvoo andmed määratud väljundvoogu

Näide: ByteArrayOutputStream andmete kirjutamiseks

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is a line of text inside the string."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); byte() array = data.getBytes(); // Writes data to the output stream out.write(array); // Retrieves data from the output stream in string format String streamData = out.toString(); System.out.println("Output stream: " + streamData); out.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Väljund

 Väljundvoog: see on tekstirida stringi sees. 

Ülaltoodud näites oleme loonud baidimassiivi väljundvoo nimega väljund.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Andmete kirjutamiseks väljundvoogu oleme kasutanud write()meetodit.

Märkus . Programmis getBytes()kasutatud meetod muudab stringi baitide massiiviks.

Juurdepääs andmetele saidilt ByteArrayOutputStream

  • toByteArray() - tagastab väljundvoo sees oleva massiivi
  • toString() - tagastab kogu väljundvoo andmed stringi kujul

Näiteks,

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is data."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); // Writes data to the output stream out.write(data.getBytes()); // Returns an array of bytes byte() byteData = out.toByteArray(); System.out.print("Data using toByteArray(): "); for(int i=0; i 

Output

 Data using toByteArray(): This is data. Data using toString(): This is data. 

In the above example, we have created an array of bytes to store the data returned by the toByteArray() method.

We then have used the for loop to access each byte from the array. Here, each byte is converted into the corresponding character using typecasting.

close() Method

To close the output stream, we can use the close() method.

However, the close() method has no effect in ByteArrayOutputStream class. We can use the methods of this class even after the close() method is called.

Other Methods of ByteArrayOutputStream

Meetodid Kirjeldused
size() tagastab väljundvoo massiivi suuruse
flush() kustutab väljundvoo

To learn more, visit Java ByteArrayOutputStream (official Java documentation).

Huvitavad Artiklid...