AtomicFile 类

定义

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

[Android.Runtime.Register("android/util/AtomicFile", DoNotGenerateAcw=true)]
public class AtomicFile : Java.Lang.Object
[<Android.Runtime.Register("android/util/AtomicFile", DoNotGenerateAcw=true)>]
type AtomicFile = class
    inherit Object
继承
AtomicFile
属性

注解

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。 如果在较旧版本的平台上需要此版本,可以在 AndroidX 中使用 androidx.core.util.AtomicFile

原子文件在将文件重命名为原始文件之前,确保文件已完全写入并同步到磁盘,从而保证文件完整性。 以前,这是通过事先将原始文件重命名为备份文件来完成的,但此方法无法处理首次创建该文件的情况。 此类还将正确处理由旧实现创建的备份文件。

原子文件不赋予任何文件锁定语义。 当多个线程或进程可以同时访问或修改文件时,请勿使用此类。 调用方负责在访问文件时确保适当的互斥不变性。

android.util.AtomicFileJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

AtomicFile(File)

为位于给定文件路径的文件创建新的 AtomicFile。

AtomicFile(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

BaseFile

返回基本文件的路径。

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
JniPeerMembers

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

LastModifiedTime

获取原子文件的上次修改时间。

PeerReference

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

方法

Clone()

创建并返回此对象的副本。

(继承自 Object)
Delete()

删除原子文件。

Dispose()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
Dispose(Boolean)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
Equals(Object)

指示某个其他对象是否“等于”此对象。

(继承自 Object)
FailWrite(Stream)

在写入 返回 #startWrite()的流时由于某种原因失败时调用 。

FailWriteAsync(Stream)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

FinishWrite(Stream)

成功完成对 返回 #startWrite()的流的写入后调用 。

FinishWriteAsync(Stream)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
OpenRead()

打开原子文件进行读取。

ReadFully()

为方便起见 #openRead() ,还会将所有文件内容读取到返回的字节数组中。

ReadFullyAsync()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
StartWrite()

对文件启动新的写入操作。

StartWriteAsync()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

ToArray<T>()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
IJavaPeerable.Finalized()

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

GetJniTypeName(IJavaPeerable)

帮助程序类,用于通过写入到新文件并在写入成功完成后将其重命名为原始文件的位置,对文件执行原子操作。

适用于