Java ByteArrayOutputStream (Örneklerle)

Bu eğiticide, örnekler yardımıyla Java ByteArrayOutputStream ve yöntemlerini öğreneceğiz.

ByteArrayOutputStreamSınıf java.iopaketi (bayt), çıkış veri dizisini yazmak için kullanılabilir.

OutputStreamSoyut sınıfı genişletir .

Not : In ByteArrayOutputStream, verileri depolamak için dahili bir bayt dizisi tutar.

ByteArrayOutputStream oluşturma

Bir bayt dizisi çıktı akışı yaratmak için önce java.io.ByteArrayOutputStreampaketi içe aktarmalıyız . Paketi içe aktardıktan sonra, işte nasıl bir çıktı akışı oluşturabiliriz.

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

Burada, varsayılan boyutu 32 bayt olan bir bayt dizisine veri yazacak bir çıktı akışı oluşturduk. Ancak dizinin varsayılan boyutunu değiştirebiliriz.

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

Burada boyut, dizinin uzunluğunu belirtir.

ByteArrayOutputStream Yöntemleri

ByteArrayOutputStreamSınıf içinde mevcut farklı yöntemlerin uygulanmasını içerir OutputStreamsınıfı.

write () Yöntem

  • write(int byte) - belirtilen baytı çıktı akışına yazar
  • write(byte() array) - belirtilen dizideki baytları çıktı akışına yazar
  • write(byte() arr, int start, int length) - Konum başlangıcından başlayarak bir diziden çıkış akışına uzunluğa eşit bayt sayısını yazar
  • writeTo(ByteArrayOutputStream out1) - geçerli çıktı akışının tüm verilerini belirtilen çıktı akışına yazar

Örnek: Veri yazmak için ByteArrayOutputStream

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

Çıktı

 Çıktı akışı: Bu, dizenin içindeki bir metin satırıdır. 

Yukarıdaki örnekte, output adında bir bayt dizisi çıktı akışı oluşturduk.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Verileri çıktı akışına yazmak için write()yöntemi kullandık .

Not : Programda getBytes()kullanılan yöntem bir dizgeyi bayt dizisine dönüştürür.

ByteArrayOutputStream'den Verilere Erişim

  • toByteArray() - çıktı akışı içinde bulunan diziyi döndürür
  • toString() - çıktı akışının tüm verilerini dize biçiminde döndürür

Örneğin,

 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

Yöntemler Açıklamalar
size() çıktı akışındaki dizinin boyutunu döndürür
flush() çıktı akışını temizler

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

Ilginç makaleler...