Rumah > Java > javaTutorial > Mengapa Java BufferedWriter Saya Tidak Menulis Semua Data?

Mengapa Java BufferedWriter Saya Tidak Menulis Semua Data?

Mary-Kate Olsen
Lepaskan: 2024-12-18 18:10:11
asal
722 orang telah melayarinya

Why Doesn't My Java BufferedWriter Write All the Data?

BufferedWriter Tidak Mengeluarkan Data Sepenuhnya

Di Java, kelas BufferedWriter biasanya digunakan untuk menulis teks ke cakera. Walaupun ia menggunakan teknik penimbalan untuk meningkatkan prestasi, terdapat keadaan di mana ia mungkin gagal untuk menulis semua data yang dimaksudkan pada fail output.

Satu kejadian sedemikian berlaku apabila penimbal BufferedWriter melebihi saiz lalainya. Secara lalai, saiz penimbal ditetapkan kepada 8192 aksara, yang boleh memuatkan ratusan baris data dengan mudah. Walau bagaimanapun, jika jumlah data melebihi kapasiti penimbal, data tidak akan ditulis pada fail sehingga penimbal telah dibuang secara eksplisit.

Penerangan Isu

The atur cara yang diterangkan dalam soalan membaca data daripada fail CSV dan menukarnya kepada arahan SQL untuk dimasukkan ke dalam jadual. Program ini nampaknya berfungsi dengan betul sehingga tiba-tiba berhenti menulis pada fail output separuh proses penukaran.

Penyelesaian

Untuk membetulkan isu ini, adalah penting untuk menutup OutputStream yang dikaitkan dengan BufferedWriter. Tindakan ini memaksa pembilasan data yang tinggal, memastikan ia ditulis pada fail output. Baris kod berikut perlu ditambah sebelum atur cara ditamatkan:

out.close();
Salin selepas log masuk

Dengan menutup OutputStream, data penimbal akan ditulis dengan serta-merta pada fail, menyelesaikan isu output terpotong.

Atas ialah kandungan terperinci Mengapa Java BufferedWriter Saya Tidak Menulis Semua Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan