FileSystemInfo Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет базовый класс для обоих FileInfo объектов и DirectoryInfo объектов.
public ref class FileSystemInfo abstract
public ref class FileSystemInfo abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class FileSystemInfo
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type FileSystemInfo = class
type FileSystemInfo = class
inherit MarshalByRefObject
interface ISerializable
[<System.Serializable>]
type FileSystemInfo = class
inherit MarshalByRefObject
interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileSystemInfo = class
inherit MarshalByRefObject
interface ISerializable
Public MustInherit Class FileSystemInfo
Public MustInherit Class FileSystemInfo
Inherits MarshalByRefObject
Implements ISerializable
- Наследование
-
FileSystemInfo
- Наследование
- Производный
- Атрибуты
- Реализации
Примеры
В следующем примере показано, как выполнять цикл по всем файлам и каталогам, запрашивая некоторые сведения о каждой записи.
using System;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
// Loop through all the immediate subdirectories of C.
foreach (string entry in Directory.GetDirectories(@"C:\"))
{
DisplayFileSystemInfoAttributes(new DirectoryInfo(entry));
}
// Loop through all the files in C.
foreach (string entry in Directory.GetFiles(@"C:\"))
{
DisplayFileSystemInfoAttributes(new FileInfo(entry));
}
}
static void DisplayFileSystemInfoAttributes(FileSystemInfo fsi)
{
// Assume that this entry is a file.
string entryType = "File";
// Determine if entry is really a directory
if ((fsi.Attributes & FileAttributes.Directory) == FileAttributes.Directory )
{
entryType = "Directory";
}
// Show this entry's type, name, and creation date.
Console.WriteLine("{0} entry {1} was created on {2:D}", entryType, fsi.FullName, fsi.CreationTime);
}
}
}
// Output will vary based on contents of drive C.
// Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003
// Directory entry C:\Inetpub was created on Monday, January 12, 2004
// Directory entry C:\Program Files was created on Tuesday, November 25, 2003
// Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003
// Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003
// Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003
// File entry C:\IO.SYS was created on Tuesday, November 25, 2003
// File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003
// File entry C:\pagefile.sys was created on Saturday, December 27, 2003
Imports System.IO
Module Module1
Sub Main()
' Loop through all the immediate subdirectories of C.
For Each entry As String In Directory.GetDirectories("C:\")
DisplayFileSystemInfoAttributes(New DirectoryInfo(entry))
Next
' Loop through all the files in C.
For Each entry As String In Directory.GetFiles("C:\")
DisplayFileSystemInfoAttributes(New FileInfo(entry))
Next
End Sub
Sub DisplayFileSystemInfoAttributes(ByVal fsi As IO.FileSystemInfo)
' Assume that this entry is a file.
Dim entryType As String = "File"
' Determine if this entry is really a directory.
If (fsi.Attributes And FileAttributes.Directory) = FileAttributes.Directory Then
entryType = "Directory"
End If
' Show this entry's type, name, and creation date.
Console.WriteLine("{0} entry {1} was created on {2:D}", _
entryType, fsi.FullName, fsi.CreationTime)
End Sub
End Module
' Output will vary based on contents of drive C.
'
' Directory entry C:\Documents and Settings was created on Tuesday, November 25, 2003
' Directory entry C:\Inetpub was created on Monday, January 12, 2004
' Directory entry C:\Program Files was created on Tuesday, November 25, 2003
' Directory entry C:\RECYCLER was created on Tuesday, November 25, 2003
' Directory entry C:\System Volume Information was created on Tuesday, November 2, 2003
' Directory entry C:\WINDOWS was created on Tuesday, November 25, 2003
' File entry C:\IO.SYS was created on Tuesday, November 25, 2003
' File entry C:\MSDOS.SYS was created on Tuesday, November 25, 2003
' File entry C:\pagefile.sys was created on Saturday, December 27, 2003
Комментарии
Класс FileSystemInfo содержит методы, которые являются общими для обработки файлов и каталогов. Объект FileSystemInfo может представлять файл или каталог, таким образом выступая в качестве основы или FileInfoDirectoryInfo объектов. Используйте этот базовый класс при анализе большого количества файлов и каталогов.
Производный класс может наследоваться FileSystemInfo только в том случае, если производный класс имеет разрешение AllAccess из FileIOPermissionAccess перечисления.
В членах, которые принимают путь, путь может ссылаться на файл или только каталог. Указанный путь также может ссылаться на относительный путь или UNC-путь для сервера и имени общего ресурса. Например, все следующие возможные пути:
"c:\\MyDir\\MyFile.txt" в C#или "c:\MyDir\MyFile.txt" в Visual Basic.
C:\\MyDir в C#или c:\MyDir в Visual Basic.
"MyDir\\MySubdir" в C# или "MyDir\MySubDir" в Visual Basic.
"\MyServer\\MyShare" в C#или \\MyServer\MyShare в Visual Basic.
Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.
Конструкторы
| Имя | Описание |
|---|---|
| FileSystemInfo() |
Инициализирует новый экземпляр класса FileSystemInfo. |
| FileSystemInfo(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр FileSystemInfo класса сериализованными данными. |
Поля
| Имя | Описание |
|---|---|
| FullPath |
Представляет полный путь к каталогу или файлу. |
| OriginalPath |
Путь, первоначально заданный пользователем, независимо от того, является ли относительный или абсолютный. |
Свойства
| Имя | Описание |
|---|---|
| Attributes |
Возвращает или задает атрибуты текущего файла или каталога. |
| CreationTime |
Возвращает или задает время создания текущего файла или каталога. |
| CreationTimeUtc |
Возвращает или задает время создания (в формате UTC) текущего файла или каталога. |
| Exists |
Возвращает значение, указывающее, существует ли файл или каталог. |
| Extension |
Получает часть расширения имени файла, в том числе в начале |
| FullName |
Получает полный путь к каталогу или файлу. |
| LastAccessTime |
Возвращает или задает время последнего доступа к текущему файлу или каталогу. |
| LastAccessTimeUtc |
Возвращает или задает время в формате UTC, к которому последний доступ был доступ к текущему файлу или каталогу. |
| LastWriteTime |
Возвращает или задает время последнего записи текущего файла или каталога. |
| LastWriteTimeUtc |
Получает или задает время( в формате UTC), когда текущий файл или каталог был записан в последний раз. |
| LinkTarget |
Возвращает целевой путь ссылки, расположенной в FullName, или |
| Name |
Для файлов возвращает имя файла. Для каталогов возвращает имя последнего каталога в иерархии, если иерархия существует.
|
| UnixFileMode |
Возвращает или задает режим файлов Unix для текущего файла или каталога. |
Методы
| Имя | Описание |
|---|---|
| CreateAsSymbolicLink(String) |
Создает символьную ссылку, расположенную в FullName указанной точке |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Delete() |
Удаляет файл или каталог. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Устаревшие..
SerializationInfo Задает объект с именем файла и дополнительными сведениями об исключении. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| Refresh() |
Обновляет состояние объекта. |
| ResolveLinkTarget(Boolean) |
Возвращает целевой объект указанной ссылки. |
| ToString() |
Возвращает исходный путь. FullName Используйте свойства Name для полного пути или имени файла или каталога. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |