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
Наследование
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, или null если этот FileSystemInfo экземпляр не представляет ссылку.

Name

Для файлов возвращает имя файла. Для каталогов возвращает имя последнего каталога в иерархии, если иерархия существует. Name В противном случае свойство получает имя каталога.

UnixFileMode

Возвращает или задает режим файлов Unix для текущего файла или каталога.

Методы

Имя Описание
CreateAsSymbolicLink(String)

Создает символьную ссылку, расположенную в FullName указанной точке pathToTarget.

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)

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

См. также раздел