I/O Başlangıç

Bir InputStream'i tek çağrıyla OutputStream'e kopyalayın.

✕ Java 8
byte[] buf = new byte[8192];
int n;
while ((n = input.read(buf)) != -1) {
    output.write(buf, 0, n);
}
✓ Java 9+
input.transferTo(output);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
📏

Tek satır

Tüm okuma/yazma döngüsünü tek bir metod çağrısıyla değiştirin.

Optimize edilmiş

İç tampon boyutu performans için ayarlanmıştır.

🛡️

Hata yok

Tampon yönetiminde tek tek kayma hatası yoktur.

Eski Yaklaşım
Manuel Kopyalama Döngüsü
Modern Yaklaşım
transferTo()
JDK'dan itibaren
9
Zorluk
Başlangıç
InputStream.transferTo()
Mevcut

JDK 9'dan itibaren geniş çapta kullanılabilir (Eylül 2017)

transferTo(), giriş akışındaki tüm baytları okur ve çıkış akışına yazar. Tampon yönetimi veya döngü gerekmez. Optimize edilmiş bir iç tampon kullanır.

Paylaş 𝕏 🦋 in