I/O প্রাথমিক

এক কল (call)-এই একটি InputStream থেকে OutputStream-এ ডেটা কপি করুন।

✕ 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);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
📏

এক লাইন

একটি মেথড কল দিয়ে সম্পূর্ণ রিড/রাইট লুপ প্রতিস্থাপন করুন।

অপ্টিমাইজড (Optimized)

ইন্টারনাল বাফারের সাইজ পারফরম্যান্সের জন্য টিউন (tuned) করা হয়।

🛡️

কোনো বাগ নেই

বাফার ম্যানেজমেন্টে অফ-বাই-ওয়ান (off-by-one) এরর হওয়ার ঝুঁকি থাকে না।

পুরনো পদ্ধতি
ম্যানুয়াল কপি লুপ
আধুনিক পদ্ধতি
transferTo()
JDK থেকে
9
কঠিনতা
প্রাথমিক
InputStream.transferTo()
উপলব্ধ

JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ

transferTo() মেথডটি ইনপুট স্ট্রিম থেকে সমস্ত বাইট রিড করে এবং সেগুলোকে আউটপুট স্ট্রিমে রাইট করে। এখানে কোনো বাফার ম্যানেজমেন্ট বা লুপের প্রয়োজন নেই। এটি একটি অপ্টিমাইজড ইন্টারনাল বাফার (optimized internal buffer) ব্যবহার করে।