现在的位置: 首页 > 综合 > 正文

java 强制将数据写入磁盘

2013年10月05日 ⁄ 综合 ⁄ 共 354字 ⁄ 字号 评论关闭

今天遇到个问题,就是在试图将数据写入文件的时候发现有的时候,数据还在缓存中,并没有将数据及时写入到磁盘上,尝试用了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();

抱歉!评论已关闭.