belongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1
AtomicFile
public
class
AtomicFile
extends Object
java.lang.Object | |
↳ | android.support.v4.util.AtomicFile |
Static library support version of the framework's AtomicFile
,
a helper class for performing atomic operations on a file by creating a
backup file until a write has successfully completed.
Atomic file guarantees file integrity by ensuring that a file has been completely written and sync'd to disk before removing its backup. As long as the backup file exists, the original file is considered to be invalid (left over from a previous attempt to write the file).
Atomic file does not confer any file locking semantics. Do not use this class when the file may be accessed or modified concurrently by multiple threads or processes. The caller is responsible for ensuring appropriate mutual exclusion invariants whenever it accesses the file.
Summary
Public constructors | |
---|---|
AtomicFile(File baseName)
Create a new AtomicFile for a file located at the given File path. |
Public methods | |
---|---|
void
|
delete()
Delete the atomic file. |
void
|
failWrite(FileOutputStream str)
Call when you have failed for some reason at writing to the stream
returned by |
void
|
finishWrite(FileOutputStream str)
Call when you have successfully finished writing to the stream
returned by |
File
|
getBaseFile()
Return the path to the base file. |
FileInputStream
|
openRead()
Open the atomic file for reading. |
byte[]
|
readFully()
A convenience for |
FileOutputStream
|
startWrite()
Start a new write operation on the file. |
Inherited methods | |
---|---|
![]()
java.lang.Object
|
Public constructors
AtomicFile
AtomicFile (File baseName)
Create a new AtomicFile for a file located at the given File path. The secondary backup file will be the same file path with ".bak" appended.
Parameters | |
---|---|
baseName |
File |
Public methods
delete
void delete ()
Delete the atomic file. This deletes both the base and backup files.