Menyalin InputStream untuk Berbilang Bacaan
Membaca strim input dua kali menimbulkan cabaran kerana sifat penggunaan data yang berurutan. Walau bagaimanapun, dengan memanfaatkan perpustakaan Apache Commons IO, anda boleh menyalin kandungan strim ke sumber boleh guna semula.
Penyelesaian Menggunakan ByteArrayOutputStream dan ByteArrayInputStream:
Untuk membaca strim berbilang kali:
// Option 1: Iteratively create `ByteArrayInputStream` objects while (needToReadAgain) { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); yourReadMethodHere(bais); } // Option 2: Reset the same `ByteArrayInputStream` repeatedly ByteArrayInputStream bais = new ByteArrayInputStream(bytes); while (needToReadAgain) { bais.reset(); yourReadMethodHere(bais); }
Nota: Pendekatan ini sesuai untuk aliran data yang agak kecil. Untuk strim besar atau tidak terhingga, pertimbangkan pendekatan penstriman untuk mengelakkan keletihan memori.
Atas ialah kandungan terperinci Bagaimanakah saya boleh membaca InputStream beberapa kali dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!