您的位置:首页 > 移动开发 > Android开发

android OutputStream向sd卡中文件写入操作立即关机数据清0问题

2017-01-23 11:35 381 查看
用OutputStream写入Sd上的文件,写完后会有打印提示,如果立即把机器断电,再打开被写入的文件,发现成了0字节。一直怀疑是写在缓存,没同步到磁盘,于是在write()后加了个flush(),结果还是0字节。是因OutputStream是字节流,其写入操作不会用到缓存:



参考:http://book.51cto.com/art/200907/140872.htm

所以flush根本没用。但OutputStream又找不到一个类似linux中的sync()方法,所幸在论坛找到一同样问题的帖子,终于找到解决方法:

用OutputStream的子类FileOutputStream打开文件,FileOutputStream中就有同步的方法:FileOutputStream.getFD().sync(),在write()后执行就不会出现文件清0的问题了。

参考:http://bbs.csdn.net/topics/390033629
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐