File 类

定义

文件和目录路径名称的抽象表示形式。

[Android.Runtime.Register("java/io/File", DoNotGenerateAcw=true)]
public class File : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.IComparable
[<Android.Runtime.Register("java/io/File", DoNotGenerateAcw=true)>]
type File = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IComparable
继承
File
属性
实现

注解

文件和目录路径名称的抽象表示形式。

用户界面和操作系统使用系统依赖 <的 em>pathname strings</em> 来命名文件和目录。 此类提供分层路径名称的抽象、独立于系统的视图。 <em>抽象路径名称</em> 有两个组件:

olli An optional system-dependent emprefix/em string, such as a disk-drive specifier, &nbsp;用于 UNIX 根目录或  对于Microsoft Windows UNC 路径名,以及 li A 序列(包含零个或多个字符串 em名称/em)。 </ol>

抽象路径名中的第一个名称可以是目录名称,或者,如果Microsoft Windows UNC 路径名,则为主机名。 抽象路径名中的每个后续名称表示目录;姓氏可能表示目录或文件。 <em>empty</em> 抽象路径名没有前缀和空名称序列。

路径名称字符串到抽象路径名或从抽象路径名转换本质上依赖于系统。 将抽象路径名转换为路径名称字符串时,每个名称由默认 <em>分隔符/<em> 的单个副本分隔。 默认名称分隔符由系统属性 file.separator定义,可在公共静态字段 {@link #separator}{@link #separatorChar} 此类中使用。 当 pathname 字符串转换为抽象路径名时,其名称可以用默认名称分隔符或基础系统支持的任何其他名称分隔符字符分隔。

路径名称(无论是抽象形式还是字符串形式)可以是 em absolute/em> 或 <em>relative</em>。<>< 绝对路径名已完成,因此不需要任何其他信息才能找到它所表示的文件。 相反,必须根据从其他路径名获取的信息来解释相对路径名。 默认情况下,包中的 java.io 类始终针对当前用户目录解析相对路径名。 此目录由系统属性user.dir命名,通常是在其中调用Java虚拟机的目录。

<可以通过调用#getParent此类的方法获取抽象路径名的 em>父</em>,并包含 pathname 的前缀和路径名称序列中除最后一个名称以外的每个名称。 每个目录的绝对路径名都是具有绝对抽象路径名的任何 File 对象的上级,该路径名以目录的绝对路径名开头。 例如,抽象路径名 "/usr" 所表示的目录是路径名 "/usr/local/bin"所表示的目录的上级。

前缀概念用于处理 UNIX 平台上的根目录,以及Microsoft Windows平台上的驱动器说明符、根目录和 UNC 路径名称,如下所示:

<ul>

li 对于 UNIX 平台,绝对路径名的前缀始终 为 < a0/>。 相对路径名没有前缀。 表示根目录的抽象路径名具有前缀 "/" 和空名称序列。

<li> 对于Microsoft Windows平台,包含驱动器说明符的路径名的前缀由驱动器号后":"跟,如果 pathname 是绝对的,则后跟"\\"驱动器号。 UNC 路径名的前缀为 "\\\\";主机名和共享名称是名称序列中的前两个名称。 未指定驱动器的相对路径名没有前缀。

</ul>

此类的实例可能表示或不能表示实际的文件系统对象,例如文件或目录。 如果它确实表示此类对象,则该对象驻留在 分区中。 分区是文件系统的特定于操作系统的存储部分。 单个存储设备(例如物理磁盘驱动器、闪存、CD-ROM)可能包含多个分区。 对象(如果有)将驻留在此 pathname 的绝对形式的某个上级命名的分区“partName”。>

文件系统可能会对实际文件系统对象的某些操作(例如读取、写入和执行)实施限制。 这些限制统称为 访问权限。 文件系统可能对单个对象具有多个访问权限集。 例如,一个集可能应用于对象的 所有者,另一组可能应用于所有其他用户。 对对象的访问权限可能会导致此类中的某些方法失败。

类的实例是不可变的 File ;也就是说,创建后,由对象表示 File 的抽象路径名永远不会更改。

<h3>与 java.nio.file 包</h3 的互操作性>

<c> java.nio.file</c> 包定义用于访问文件、文件属性和文件系统的 Java 虚拟机的接口和类。 此 API 可用于克服类的许多限制 java.io.File 。 该方法 #toPath toPath 可用于获取 Path 使用对象表示 File 的抽象路径来查找文件。 生成的 Path 结果可与类一起使用 java.nio.file.Files ,以提供对其他文件操作、文件属性和 I/O 异常的更高效且广泛的访问,以帮助诊断文件操作失败时的错误。

在 Android 字符串上,将文件名发送到操作系统时转换为 UTF-8 字节序列,操作系统返回的字节序列(从各种 list 方法)转换为字符串,方法是将它们解码为 UTF-8 字节序列。

在 JDK1.0 中添加。

Java文档java.io.File

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

构造函数

名称 说明
File(File, String)

从父抽象路径名和子路径名称字符串创建新 File 实例。

File(IntPtr, JniHandleOwnership)

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

File(String, String)

从父路径名称字符串和子路径名称字符串创建新 File 实例。

File(String)

通过将给定路径名称字符串转换为抽象路径名来创建一个新 File 实例。

File(URI)

通过将给定 file: URI 转换为抽象路径名来创建一个新File实例。

属性

名称 说明
AbsoluteFile

返回此抽象路径名的绝对形式。

AbsolutePath

返回此文件的绝对路径。

CanonicalFile

返回此抽象路径名称的规范形式。

CanonicalPath

返回此抽象路径名称的规范路径名称字符串。

Class

返回此 Object的运行时类。

(继承自 Object)
FreeSpace

返回由此抽象路径名称命名的分区中未分配的字节数。

Handle

基础 Android 实例的句柄。

(继承自 Object)
IsAbsolute

测试此抽象路径名是否为绝对路径名。

IsDirectory

测试此抽象路径名称表示的文件是否为目录。

IsFile

测试此抽象路径名称表示的文件是否为普通文件。

IsHidden

测试此抽象路径名命名的文件是否为隐藏文件。

JniIdentityHashCode

文件和目录路径名称的抽象表示形式。

(继承自 Object)
JniPeerMembers

文件和目录路径名称的抽象表示形式。

Name

返回由此抽象路径名表示的文件或目录的名称。

Parent

返回此抽象路径名称的父目录的路径名称字符串,或者 null 此路径名未命名父目录。

ParentFile

返回此抽象路径名称的父目录的抽象路径名,或者 null 此路径名未命名父目录。

Path

将此抽象路径名转换为 pathname 字符串。

PathSeparator

系统依赖的路径分隔符,表示为方便起见的字符串。

PathSeparatorChar

系统依赖的路径分隔符。

PeerReference

文件和目录路径名称的抽象表示形式。

(继承自 Object)
Separator

系统依赖的默认名称分隔符,表示为方便起见的字符串。

SeparatorChar

系统依赖的默认名称分隔符字符。

ThresholdClass

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

ThresholdType

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

TotalSpace

返回由此抽象路径名命名的分区的大小。

UsableSpace

返回此抽象路径名称命名的分区上此虚拟机可用的字节数。

方法

名称 说明
CanExecute()

测试应用程序是否可以执行由此抽象路径名表示的文件。

CanRead()

测试应用程序是否可以读取由此抽象路径名表示的文件。

CanWrite()

测试应用程序是否可以修改由此抽象路径名表示的文件。

Clone()

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

(继承自 Object)
CompareTo(File)

比较两个抽象路径名称字典。

CreateNewFile()

如果具有此名称的文件尚不存在,则以原子方式创建由此抽象路径名命名的新空文件。

CreateTempFile(String, String, File)

使用给定的前缀和后缀字符串在指定目录中创建新的空文件,以生成其名称。

CreateTempFile(String, String)

使用给定前缀和后缀在默认临时文件目录中创建一个空文件,以生成其名称。

Delete()

删除此抽象路径名称表示的文件或目录。

DeleteOnExit()

当虚拟机终止时,将删除由此抽象路径名表示的文件或目录的请求。

Dispose()

文件和目录路径名称的抽象表示形式。

(继承自 Object)
Dispose(Boolean)

文件和目录路径名称的抽象表示形式。

(继承自 Object)
Equals(Object)

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

(继承自 Object)
Exists()

测试此抽象路径名表示的文件或目录是否存在。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

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

(继承自 Object)
LastModified()

返回上次修改此抽象路径名表示的文件的时间。

Length()

返回此抽象路径名表示的文件的长度。

List()

返回一个字符串数组,用于命名此抽象路径名称所表示的目录中的文件和目录。

List(IFilenameFilter)

返回一个字符串数组,该字符串命名由满足指定筛选器的抽象路径名所表示的目录中的文件和目录。

ListAsync()

文件和目录路径名称的抽象表示形式。

ListAsync(IFilenameFilter)

文件和目录路径名称的抽象表示形式。

ListFiles()

返回一个抽象路径名数组,该数组表示此抽象路径名所表示的目录中的文件。

ListFiles(IFileFilter)

返回一个抽象路径名数组,该数组表示满足指定筛选器的此抽象路径名所表示的目录中的文件和目录。

ListFiles(IFilenameFilter)

返回一个抽象路径名数组,该数组表示满足指定筛选器的此抽象路径名所表示的目录中的文件和目录。

ListFilesAsync()

文件和目录路径名称的抽象表示形式。

ListFilesAsync(IFileFilter)

文件和目录路径名称的抽象表示形式。

ListFilesAsync(IFilenameFilter)

文件和目录路径名称的抽象表示形式。

ListRoots()

返回文件系统根。

ListRootsAsync()

文件和目录路径名称的抽象表示形式。

Mkdir()

创建由此抽象路径名命名的目录。

Mkdirs()

创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。

Notify()

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

(继承自 Object)
NotifyAll()

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

(继承自 Object)
RenameTo(File)

重命名此抽象路径名称表示的文件。

SetExecutable(Boolean, Boolean)

设置此抽象路径名的所有者或每个人的执行权限。

SetExecutable(Boolean)

为此抽象路径名设置所有者的执行权限的便利方法。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetLastModified(Int64)

设置由此抽象路径名称命名的文件或目录的上次修改时间。

SetReadable(Boolean, Boolean)

设置此抽象路径名的所有者或每个人的读取权限。

SetReadable(Boolean)

为此抽象路径名设置所有者的读取权限的便利方法。

SetReadOnly()

标记由此抽象路径名命名的文件或目录,以便只允许读取操作。

SetWritable(Boolean, Boolean)

设置此抽象路径名的所有者或每个人的写入权限。

SetWritable(Boolean)

为此抽象路径名设置所有者的写入权限的便利方法。

ToArray<T>()

文件和目录路径名称的抽象表示形式。

(继承自 Object)
ToPath()

返回 Path java.nio.file.Path 从此抽象路径构造的对象。

ToString()

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

(继承自 Object)
ToURI()

构造表示 file: 此抽象路径名的 URI。

ToURL()
已过时.

将此抽象路径名称转换为 file: URL。

UnregisterFromRuntime()

文件和目录路径名称的抽象表示形式。

(继承自 Object)
Wait()

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

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

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

(继承自 Object)
Wait(Int64)

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

(继承自 Object)

显式接口实现

名称 说明
IComparable.CompareTo(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)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

文件和目录路径名称的抽象表示形式。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于