今天遇到個問題,就是在試圖將數據寫入文件的時候發現有的時候,數據還在緩存中,並沒有將數據及時寫入到磁盤上,嘗試用了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();