Поделиться через


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 namespace System;
using namespace System::IO;


namespace ConsoleApplication2
{
    public ref class Program
    {
    public:
        static void Main()
        {
            //  Loop through all the immediate subdirectories of C.
            for each (String^ entry in Directory::GetDirectories("C:\\"))
            {
                DisplayFileSystemInfoAttributes(gcnew DirectoryInfo(entry));
            }
            //  Loop through all the files in C.
            for each (String^ entry in Directory::GetFiles("C:\\"))
            {
                DisplayFileSystemInfoAttributes(gcnew 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);
        }
    };
};

int main()
{
    ConsoleApplication2::Program::Main();
}

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

Производный класс может наследовать от 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)

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

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