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>/em> для имен файлов и каталогов. Этот класс представляет абстрактное системно-независимое представление иерархических имен путей. >Em <abstract pathname</em> состоит из двух компонентов:

<ol><li> — необязательная зависимая от <системы строка префикса< em>/em>, например описатель диска диска, "/"  для корневого каталога UNIX или "\\\\"  для имени UNC-пути Microsoft Windows и <li> A последовательность с нулевым или более строковыми <именами< em>/em>. </Пр>

Первое имя в абстрактном имени пути может быть именем каталога или, в случае имен UNC-путей Microsoft Windows, именем узла. Каждое последующее имя в абстрактном имени пути обозначает каталог; фамилия может обозначать каталог или файл. >Em <empty</em> abstract pathname не имеет префикса и пустой последовательности имен.

Преобразование строки pathname в абстрактное имя пути или из нее изначально зависит от системы. При преобразовании абстрактного имени пути в строку pathname каждое имя отделяется от следующего одной копией символа-разделителя em по умолчанию <или em>.>< Символ разделителя имен по умолчанию определяется системным свойством file.separatorи становится доступным в общедоступных статических полях {@link #separator} и {@link #separatorChar} этого класса. При преобразовании строки pathname в абстрактное имя пути имена в ней могут быть разделены символом-разделителем имен по умолчанию или любым другим символом-разделителем имен, поддерживаемым базовой системой.

Путь, абстрактный или в строковой форме, может иметь значение em absolute/em> или <em>relative</em>.<>< Абсолютный путь является полным в том случае, что для поиска файла, который он обозначает, не требуется никаких других сведений. Относительный путь, напротив, должен интерпретироваться с точки зрения информации, взятой из какого-то другого pathname. По умолчанию классы в пакете java.io всегда разрешают относительные имена путей в текущем каталоге пользователя. Этот каталог называется системным свойством user.dirи обычно является каталогом, в котором была вызвана виртуальная машина Java.

>Em <parent</em> абстрактного pathname можно получить путем вызова #getParent метода этого класса и состоит из префикса pathname и каждого имени в последовательности имен pathname, за исключением последнего. Абсолютное имя пути каждого каталога является предком любого File объекта с абсолютным абстрактным именем пути, которое начинается с абсолютного имени пути каталога. Например, каталог, обозначенный абстрактным именем пути "/usr" , является предком каталога, обозначаемого именем "/usr/local/bin"пути .

Концепция префикса используется для обработки корневых каталогов на платформах UNIX, а также описателей дисков, корневых каталогов и имен путей UNC на платформах Microsoft Windows следующим образом:

<ul>

<Li> Для платформ UNIX префикс абсолютного имени пути всегда "/"имеет значение . Относительные имена путей не имеют префикса. Абстрактное имя пути, обозначающее корневой каталог, имеет префикс "/" и пустую последовательность имен.

<Li> Для платформ Microsoft Windows префикс имени пути, содержащего описатель диска, состоит из буквы диска, за ":" которой следует и, возможно, после которого следует , если путь является абсолютным "\\" . Префикс UNC pathname — ; "\\\\"имя узла и имя общей папки являются первыми двумя именами в последовательности имен. Относительный путь, не указывающий диск, не имеет префикса.

</ul>

Экземпляры этого класса могут обозначать или не обозначать фактический объект файловой системы, например файл или каталог. Если он обозначает такой объект, этот объект находится в секции. Раздел — это часть хранилища файловой системы, относящаяся к операционной системе. Одно запоминающее устройство (например, физический диск, флэш-память, компакт-диск) может содержать несколько разделов. Объект , если таковой имеется, будет находиться в секции "partName">, именуемой каким-либо предком абсолютной формы этого pathname.

Файловая система может применять ограничения для определенных операций с фактическим объектом файловой системы, таких как чтение, запись и выполнение. Эти ограничения в совокупности называются разрешениями доступа. Файловая система может иметь несколько наборов разрешений на доступ к одному объекту. Например, один набор может применяться к владельцу объекта, а другой — ко всем остальным пользователям. Разрешения на доступ к объекту могут привести к сбою некоторых методов в этом классе.

Экземпляры 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 , чтобы обеспечить более эффективный и обширный доступ к дополнительным операциям с файлами, атрибутам файлов и исключениям ввода-вывода для диагностики ошибок при сбое операции с файлом.

В Android строки преобразуются в последовательности байтов UTF-8 при отправке имен файлов в операционную систему, а байтовые последовательности, возвращаемые операционной системой (из различных list методов), преобразуются в строки, декодируя их как последовательности байтов UTF-8.

Добавлено в JDK1.0.

Документация по Java для java.io.File.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Конструкторы

File(File, String)

Создает новый File экземпляр из родительского абстрактного имени пути и строки дочернего пути.

File(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

File(String)

Создает новый File экземпляр путем преобразования заданной строки pathname в абстрактное имя пути.

File(String, String)

Создает новый File экземпляр из родительской строки pathname и дочерней строки pathname.

File(URI)

Создает новый File экземпляр путем преобразования заданного file: URI в абстрактный путь.

Свойства

AbsoluteFile

Возвращает абсолютную форму этого абстрактного имени пути.

AbsolutePath

Возвращает абсолютный путь к этому файлу.

CanonicalFile

Возвращает каноническую форму этого абстрактного имени пути.

CanonicalPath

Возвращает каноническую строку pathname этого абстрактного имени пути.

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
FreeSpace

Возвращает количество нераспределенных байтов в секции с именем этого абстрактного пути.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsAbsolute

Проверяет, является ли этот абстрактный путь абсолютным.

IsDirectory

Проверяет, является ли файл, обозначенный этим абстрактным именем пути, каталогом.

IsFile

Проверяет, является ли файл, обозначенный этим абстрактным именем пути, обычным.

IsHidden

Проверяет, является ли файл с именем этого абстрактного пути скрытым файлом.

JniIdentityHashCode

Абстрактное представление имен пути к файлам и каталогам.

(Унаследовано от Object)
JniPeerMembers

Абстрактное представление имен пути к файлам и каталогам.

Name

Возвращает имя файла или каталога, обозначенного этим абстрактным именем пути.

Parent

Возвращает строку pathname родительского объекта этого абстрактного пути или null значение , если имя пути не является родительским каталогом.

ParentFile

Возвращает абстрактный путь родительского элемента этого абстрактного пути или значение , null если это имя пути не является родительским каталогом.

Path

Преобразует это абстрактное имя пути в строку pathname.

PathSeparator

Системный символ разделителя пути, представленный в виде строки для удобства.

PathSeparatorChar

Системный символ разделителя пути.

PeerReference

Абстрактное представление имен пути к файлам и каталогам.

(Унаследовано от Object)
Separator

Системный символ разделителя имен и разделителей по умолчанию, представленный в виде строки для удобства.

SeparatorChar

Зависимый от системы символ разделителя имен и разделителей по умолчанию.

ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

TotalSpace

Возвращает размер секции с именем этого абстрактного пути.

UsableSpace

Возвращает количество байтов, доступных этой виртуальной машине в секции с именем этого абстрактного пути.

Методы

CanExecute()

Проверяет, может ли приложение выполнить файл, обозначенный этим абстрактным именем пути.

CanRead()

Проверяет, может ли приложение прочитать файл, обозначенный этим абстрактным именем пути.

CanWrite()

Проверяет, может ли приложение изменить файл, обозначенный этим абстрактным именем пути.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
CompareTo(File)

Сравнивает два абстрактных имена пути лексикографически.

CreateNewFile()

Атомарно создает новый пустой файл с именем этого абстрактного пути, если и только в том случае, если файл с таким именем еще не существует.

CreateTempFile(String, String)

Создает пустой файл в каталоге временных файлов по умолчанию, используя заданный префикс и суффикс для создания его имени.

CreateTempFile(String, String, File)

Создает пустой файл в указанном каталоге, используя заданные строки префикса и суффикса для создания его имени.

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)

Удобный метод для установки разрешения на выполнение владельца для этого абстрактного имени пути.

SetExecutable(Boolean, Boolean)

Задает разрешение на выполнение владельца или всех пользователей для этого абстрактного имени пути.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetLastModified(Int64)

Задает время последнего изменения файла или каталога с именем этого абстрактного пути.

SetReadable(Boolean)

Удобный метод для задания разрешения владельца на чтение для этого абстрактного имени пути.

SetReadable(Boolean, Boolean)

Задает разрешение владельца или всех пользователей на чтение для этого абстрактного имени пути.

SetReadOnly()

Помечает файл или каталог с именем этого абстрактного пути, чтобы разрешались только операции чтения.

SetWritable(Boolean)

Удобный метод для задания разрешения владельца на запись для этого абстрактного имени пути.

SetWritable(Boolean, Boolean)

Задает разрешение владельца или всех пользователей на запись для этого абстрактного имени пути.

ToArray<T>()

Абстрактное представление имен пути к файлам и каталогам.

(Унаследовано от Object)
ToPath()

Возвращает объект, Path java.nio.file.Path созданный на основе этого абстрактного пути.

ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
ToURI()

Создает универсальный file: код ресурса (URI), представляющий это абстрактное имя пути.

ToURL()
Устаревшие..

Преобразует это абстрактное имя пути в file: URL-адрес.

UnregisterFromRuntime()

Абстрактное представление имен пути к файлам и каталогам.

(Унаследовано от Object)
Wait()

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>.

(Унаследовано от Object)
Wait(Int64)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> 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)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Абстрактное представление имен пути к файлам и каталогам.

GetJniTypeName(IJavaPeerable)

Абстрактное представление имен пути к файлам и каталогам.

Применяется к