2010-05-13 12 views

cevap

12

Zaten Apache commons-io kullanıyorsanız, sen bunu yapabilirsiniz:

IOUtils.copy(byteArrayInputStream, new FileOutputStream(outputFileName)); 
+0

Ya. Çok daha temiz. – SingleShot

+0

Bu harika, ancak filme çekmek için aramanın dışında FileoutputStream oluşturmam gerektiğini buldum. IOUtils'in bazıları arabelleği temizler, ancak bu sorun çıktı dosyalarını bazen açılabilir değildi. Bir kez FileOutputStream üzerinde kapat() için bir çağrı ekledim, harika çalıştı. Genel olarak, ben IOUtils şeyler buldum SO GLAD, başka şeyler için de kullanıyorum. – titania424

2

Aşağıdaki kodu kullanabilirsiniz:

ByteArrayInputStream input = getInputStream(); 
FileOutputStream output = new FileOutputStream(outputFilename); 

int DEFAULT_BUFFER_SIZE = 1024; 
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; 
long count = 0; 
int n = 0; 

n = input.read(buffer, 0, DEFAULT_BUFFER_SIZE); 

while (n >= 0) { 
    output.write(buffer, 0, n); 
    n = input.read(buffer, 0, DEFAULT_BUFFER_SIZE); 
} 
+0

Teşekkürler Gaurav, şimdi deneyecek. – Ankur

5
InputStream in = //your ByteArrayInputStream here 
OutputStream out = new FileOutputStream("filename.jpg"); 

// Transfer bytes from in to out 
byte[] buf = new byte[1024]; 
int len; 
while ((len = in.read(buf)) > 0) { 
    out.write(buf, 0, len); 
} 
in.close(); 
out.close(); 
-3
ByteArrayInputStream stream = <<Assign stream>>; 
    byte[] bytes = new byte[1024]; 
    stream.read(bytes); 
    BufferedWriter writer = new BufferedWriter(new FileWriter(new File("FileLocation"))); 
    writer.write(new String(bytes)); 
    writer.close(); 

Tamponlu Yazar performansını artıracağını Dosya yazarken FileWriter ile karşılaştırıldı.

+1

Yazarlar, ikili dosyalar değil karakter dosyaları içindir –

İlgili konular