众所周知Android 是目前最为流行的手机操作系统,自2008年以来,它从名不见经传。到现在成为全世界数十亿的设备操作系统。确实体现出了他无比的价值。而我也很有幸的在一次选择机遇中拥抱了这个操作系统成为Android开发者的一员。
不知不觉步入安卓开发已经一年多的时间了,从刚开始的朦胧不知,到现在算是有些经验逐渐发现做应用不仅仅是写代码而已。也不仅仅是普通的网络访问,和数据显示。要想做好程序员,就得考虑到程序的方方面面。从框架结构到细节管理层层面面都是需要熟悉了解的。好了废话不多说了,关于到这方方面面,咱还是来研究一下细节把。这是我的第一篇博客,望多多关照。
AtomicFile是android.util(工具)包中的一个工具类。其实大家很可能很少见到这个类,之前我也没见到过。也不知道有什么用,但是没见过没关系,仅此一次相识,那以后便是旧交。至于用到用不到,那就看他造化了。
官方是对这个类是这样解释的;
Helper class for performing atomic operations on a file by creating a backup file until a write has successfully completed.
通过创建一个备份文件来执行原子性操作的帮助类,直到操作完成为止
If you need this on older versions of the platform you can use AtomicFile
in the v4 support library.
如果你需要在旧版本平台上使用AtomicFile类,那么可以使用V4支持库
AtomicFile 保证文件的写入完成,并在写入之后删除备份文件。只要备份文件存在,那么原始文件之前遗留的操作是无效的
AtomicFile没有文件锁的概念,所以当这个文件有可能被多个线程同时访问或修改时,请不要使用这个类
构造方法
AtomicFile(File baseName)
普通方法
void delete() 删除原子文件
void failWrite(FileOutputStream str) 当因为某些原因写入流失败时调用,由startWrite()返回
void finishWrite(FileOutputStream str) 当写入流成功时调用,由startWrite()返回
File getBaseFile() 得到基本文件
FileOutputStream
openAppend()
被弃用 这个方法不安全
FileInputStream
openRead()
为读取而打开原子文件
byte[]
readFully() 一个方便的
openRead()方法,他把整个文件的内容读取到一个字节数据当中
FileOutputStream
startWrite() 在文件上开始一个新的写入操作
void truncate() 不安全,被弃用方法