Java ByteArrayOutputStream (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali Java ByteArrayOutputStream in njene metode.

ByteArrayOutputStreamRazred java.iopaket se lahko uporablja za pisanje niz izhodnih podatkov (v bajtih).

Razširja OutputStreamabstraktni razred.

Opomba : In ByteArrayOutputStreamvzdržuje notranjo matriko bajtov za shranjevanje podatkov.

Ustvarite ByteArrayOutputStream

Če želite ustvariti izhodni tok bajtnega polja, moramo najprej uvoziti java.io.ByteArrayOutputStreampaket. Ko uvozimo paket, tukaj je opisano, kako lahko ustvarimo izhodni tok.

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

Tu smo ustvarili izhodni tok, ki bo zapisoval podatke v niz bajtov s privzeto velikostjo 32 bajtov. Lahko pa spremenimo privzeto velikost polja.

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

Tu velikost določa dolžino polja.

Metode ByteArrayOutputStream

ByteArrayOutputStreamRazred omogoča izvajanje različnih metod, ki so prisotne v OutputStreamrazredu.

metoda write ()

  • write(int byte) - zapisuje navedeni bajt v izhodni tok
  • write(byte() array) - zapisuje bajte iz podane matrike v izhodni tok
  • write(byte() arr, int start, int length) - zapisuje število bajtov, enako dolžini, v izhodni tok iz polja, začenši z začetkom položaja
  • writeTo(ByteArrayOutputStream out1) - zapiše celotne podatke trenutnega izhodnega toka v navedeni izhodni tok

Primer: ByteArrayOutputStream za zapisovanje podatkov

 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(); ) ) ) 

Izhod

 Izhodni tok: To je vrstica besedila znotraj niza. 

V zgornjem primeru smo ustvarili izhodni tok bajtnega polja z imenom output.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Za zapis podatkov v izhodni tok smo uporabili write()metodo.

Opomba : getBytes()Metoda, uporabljena v programu, pretvori niz v niz bajtov.

Dostop do podatkov iz ByteArrayOutputStream

  • toByteArray() - vrne polje, ki je znotraj izhodnega toka
  • toString() - vrne celotne podatke izhodnega toka v obliki niza

Na primer

 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

Metode Opisi
size() vrne velikost polja v izhodnem toku
flush() počisti izhodni tok

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

Zanimive Članki...