'Kullanım'ın okumak anlamına geldiğini varsayıyorum, ancak okuma vakası için açıklayacağım şey temelde yazma durumu için tersine çevrilebilir.
böylece bir bayt [] ile sonuçlanırsınız. bu, özel dönüştürme türlerine (karakter, şifrelenmiş vb.) ihtiyaç duyabilecek her türlü veriyi temsil edebilir. bu verileri olduğu gibi bir dosyaya yazmak istediğinizi varsayalım.
ilk olarak , temelde baytları sırayla bir şeye sağlamak için bir mekanizma olan bir ByteArrayInputStream oluşturabilirsiniz.
oluşturmak istediğiniz dosya için bir FileOutputStream oluşturabilirsiniz. farklı veri kaynakları ve hedefleri için birçok InputStreams ve OutputStreams türü vardır.
son olarak InputStream'i OutputStream'e yazarsınız. bu durumda, bayt dizisi yazma için FileOutputStream'e sırayla gönderilir. Bunun için IOUtils kullanmanızı öneririm
byte[] bytes = ...;//
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
FileOutputStream out = new FileOutputStream(new File(...));
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
ve tersine
FileInputStream in = new FileInputStream(new File(...));
ByteArrayOutputStream out = new ByteArrayOutputStream();
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
byte[] bytes = out.toByteArray();
Yukarıdaki kod parçacıklarını kullanırsanız, istisnaları ele almanız gerekir ve 'kapatmaları' bir last blokta yapmanızı öneririm.