Pemangkasan Teks BufferedWriter dalam Fail Output
Atur cara Java ini menukar data CSV kepada arahan SQL untuk pemasukan data ke dalam jadual. Walau bagaimanapun, ia menghadapi isu di mana tidak semua teks yang diubah muncul dalam fail SQL keluaran.
Fail sumber mengandungi lebih 10,000 baris data dan program ini nampaknya berfungsi dengan betul, tetapi ia berhenti secara tiba-tiba di tengah-tengah penjanaan pernyataan SQL. Pemangkasan ini biasanya berlaku selepas memproses kira-kira 10,000 baris, meninggalkan beberapa ratus baris belum dibaca.
Untuk menyelesaikan isu ini, OutputStream perlu ditutup untuk memastikan bahawa sebarang data yang tinggal ditulis pada fail:
out.close();
Memahami Penampan Output dalam Java
BufferedWriter secara dalaman mengekalkan penimbal yang menyimpan data bertulis buat sementara waktu. Saiz penimbal lalai ialah 8192 aksara, yang boleh memuatkan ratusan baris teks. Apabila penimbal mencapai kapasiti atau apabila strim ditutup, data dibuang ke fail asas.
Dalam kes ini, saiz penimbal mencukupi untuk menampung semua baris data yang sedang diproses. Walau bagaimanapun, sehingga penimbal disiram, data sebenarnya tidak ditulis pada fail. Menutup OutputStream secara eksplisit mencetuskan proses pembilasan, memastikan semua teks yang diubah ditulis pada fail SQL.
Atas ialah kandungan terperinci Mengapa Java BufferedWriter Saya Memotong Output ke Fail SQL Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!