java 强制将数据写入磁盘

今天遇到个问题,就是在试图将数据写入文件的时候发现有的时候,数据还在缓存中,并没有将数据及时写入到磁盘上,尝试用了flush,发现也没用,后来通过网络上,发现了解决方法

[java]  view plain copy
  1. FileOutputStream fos = new FileOutputStream(entryFile);  
  2. BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER);  
  3.   
  4. // Write to new file.  
  5. while ((count = zis.read(data, 0, BUFFER)) != -1)  
  6. {  
  7.     dest.write(data, 0, count);  
  8. }  
  9. dest.flush();  
  10. // 关键是下面这句,强制将数据写入磁盘  
  11. FileDescriptor fd = fos.getFD();  
  12. fd.sync();  

你可能感兴趣的:(java 强制将数据写入磁盘)