java 強制將數據寫入磁盤

今天遇到個問題,就是在試圖將數據寫入文件的時候發現有的時候,數據還在緩存中,並沒有將數據及時寫入到磁盤上,嘗試用了flush,發現也沒用,後來通過網絡上,發現瞭解決方法

                FileOutputStream fos = new FileOutputStream(entryFile);
                BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER);

                // Write to new file.
                while ((count = zis.read(data, 0, BUFFER)) != -1)
                {
                    dest.write(data, 0, count);
                }
                dest.flush();
                // 關鍵是下面這句,強制將數據寫入磁盤
                FileDescriptor fd = fos.getFD();
                fd.sync();





發佈了40 篇原創文章 · 獲贊 32 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章