Di Java, anda mungkin memerlukan cara yang lancar untuk menulis kandungan InputStream ke OutputStream. Anehnya, mencari penyelesaian yang mudah untuk tugas ini boleh menjadi sukar difahami. Walaupun melaksanakan kod penimbal bait secara manual boleh diurus, mungkin terdapat pendekatan yang lebih elegan yang terlepas daripada perhatian anda.
Mari kita pertimbangkan senario dengan InputStream bernama 'in' dan OutputStream bernama 'out'. Untuk memindahkan kandungan dengan berkesan, anda mungkin secara naluri menulis kod yang serupa dengan yang berikut:
byte[] buffer = new byte[1024]; int len = in.read(buffer); while (len != -1) { out.write(buffer, 0, len); len = in.read(buffer); }
Walau bagaimanapun, terdapat cara yang lebih ringkas untuk mencapai fungsi ini, seperti yang dicadangkan oleh WMR. Dengan memanfaatkan org.apache.commons.io.IOUtils daripada Apache, anda boleh menggunakan kaedah 'copy(InputStream, OutputStream)', yang mengendalikan tugas pemindahan untuk anda dengan mudah.
Dengan kaedah ini, kod anda menjadi sangat ringkas:
InputStream in; OutputStream out; IOUtils.copy(in, out); in.close(); out.close();
Tiada lagi pengurusan penimbal yang susah payah, hanya barisan tunggal yang mengurus segala-galanya. Dan untuk menangani kebimbangan anda, nampaknya tiada sebab yang kukuh untuk mengelak daripada menggunakan IOUtils untuk tugasan yang begitu mudah. Kemasukannya dalam pangkalan kod anda boleh memudahkan operasi pemindahan data anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memindahkan Kandungan InputStream ke OutputStream di Java dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!