Arka planım .net, Java için oldukça yeni. Şirketimizin java ekibine biraz iş yapıyorum ve mimarın bir InputStream (java.io) nesnesi alan bir yöntemi uygulamak için bana ihtiyacı var. Yöntemin amacını yerine getirebilmek için bunu bir bayt dizisine dönüştürmem gerekiyor. Bunu yapmanın kolay bir yolu var mı?Java'da, bir InputStream'i bayt dizisine (bayt []) nasıl dönüştürebilirim?
17
A
cevap
51
basit yolu, yeni bir ByteArrayOutputStream
oluşturmak buna byte kopyalamaya ve sonra toByteArray
çağırmaktır;
public static byte[] readFully(InputStream input) throws IOException
{
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = input.read(buffer)) != -1)
{
output.write(buffer, 0, bytesRead);
}
return output.toByteArray();
}
+0
Çıkıştan önce çıkış akışını temizlediğinizden emin olun. – quikchange
+5
@quikchange: ByteArrayOutputStream'i kullanırken gerek yok - nerede arabelleğe alınacak? –
9
basit bir yolu apache commons io bkz org.apache.commons.io.IOUtils.toByteArray(inputStream)
kullanmak olacaktır.
İlgili konular
- 1. Java bayt dizisini Scala bayt dizisine nasıl dönüştürebilirim?
- 2. İkili dizgiyi bayt dizisine dönüştürme
- 3. dize dizisini bayt dizisine dönüştürme
- 4. Bayt dizisini bir dizeye nasıl dönüştürebilirim?
- 5. Decode Base64 dizgisi bayt dizisine
- 6. Python: dizgeyi bayt dizisine dönüştürme
- 7. BitmapImage öğesinin Bayt dizisine dönüştürülmesi
- 8. Nesneyi bayt dizisine dönüştürme C#
- 9. Int32 öğesinden bayt dizisine dönüştürülüyor
- 10. Java'da bayt dizisini Base64'e nasıl dönüştürebilirim?
- 11. JSONObject öğelerini bir bayt dizisine nasıl dönüştürebilirim ve sonra orijinal JSONObject öğesini geri almak için bu bayt dizisini dönüştürürüm?
- 12. Bir sınırlayıcı bir NetworkStream bayt dizisine nasıl yerleştirilir?
- 13. Keyfi Golang arabirimini bayt dizisine dönüştürme
- 14. Int, C cinsinden bayt dizisine mi dönüştürülür?
- 15. Dizeyi sabit boyutlu bayt dizisine git
- 16. Blob'u bayt dizisine dönüştürmenin en kolay yolu
- 17. Jro dizgimi bir bayt dizisine ikili kodlama nasıl yapılır?
- 18. Entity Framework'ün bir FileStream sütununu bayt dizisine yüklemesini nasıl engellerim?
- 19. Bir ikili ikili düzenleyiciden ağ bayt sırasını nasıl dönüştürebilirim?
- 20. HTTP üzerinden bir dosyayı C# içindeki bir bayt dizisine indirin?
- 21. Bir JPEG resmini bir bayt dizisine dönüştürme - COM istisnası
- 22. MemoryStream vs bir dizi bayt
- 23. Bayt dizisinden ilk 16 bayt kaldırılıyor
- 24. A'dan Z'ye bayt dizisi
- 25. G729 kodlu bayt dizisini C# içinde .WAV biçimine nasıl dönüştürebilirim?
- 26. Sadece bir bayt soketinden
- 27. Bayt dizisi içinde bayt dizisi bul
- 28. Varyant metin gösterimi için bayt []
- 29. Bayt, bitlere nasıl dönüştürülür?
- 30. Mesaj bayt
Bunun bellek hogging olabileceğini unutmayın. – BalusC