FileSystemInfo Класс

Определение

Предоставляет базовый класс для объектов FileInfo и DirectoryInfo.Provides the base class for both FileInfo and DirectoryInfo objects.

public ref class FileSystemInfo abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class FileSystemInfo : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type FileSystemInfo = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class FileSystemInfo
Inherits MarshalByRefObject
Implements ISerializable
Наследование
FileSystemInfo
Производный
Атрибуты
Реализации

Примеры

В следующем примере показано, как выполнить цикл по всем файлам и каталогам, запросив некоторую информацию о каждой записи.The following example shows how to loop through all the files and directories, querying some information about each entry.

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 Класс содержит методы, которые являются общими для операций с файлами и каталогами.The FileSystemInfo class contains methods that are common to file and directory manipulation. Объект может представлять файл или каталог, таким образом служащий в качестве базиса для FileInfo объектов или DirectoryInfo. FileSystemInfoA FileSystemInfo object can represent either a file or a directory, thus serving as the basis for FileInfo or DirectoryInfo objects. Используйте этот базовый класс при анализе большого количества файлов и каталогов.Use this base class when parsing a lot of files and directories.

Производный класс может наследовать FileSystemInfo от только в том случае, если производный класс имеет FileIOPermissionAccess разрешение аллакцесс из перечисления.A derived class can inherit from FileSystemInfo only if the derived class has the AllAccess permission from the FileIOPermissionAccess enumeration.

В членах, принимающих путь, путь может ссылаться на файл или только на каталог.In members that accept a path, the path can refer to a file or just a directory. Указанный путь может также ссылаться на относительный путь или путь в формате UNC для имени сервера и общего ресурса.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Например, все следующие допустимые пути:For example, all the following are acceptable paths:

  • "c:\\мидир\\мифиле.ткст" in C#или "к:\мидир\мифиле.ткст" в Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\мидир" in C#или "к:\мидир" в Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • «MyDir\\мисубдир» в C#или «мидир\мисубдир» в Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • «\\ C#\Мисервер \мишаре» в или«\\MyServer\MyShare» в Visual Basic.\\"\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.For a list of common I/O tasks, see Common I/O Tasks.

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

FileSystemInfo()

Инициализирует новый экземпляр класса FileSystemInfo.Initializes a new instance of the FileSystemInfo class.

FileSystemInfo(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса FileSystemInfo с сериализованными данными.Initializes a new instance of the FileSystemInfo class with serialized data.

Поля

FullPath

Представляет полный путь к каталогу или файлу.Represents the fully qualified path of the directory or file.

OriginalPath

Первоначально заданный пользователем относительный или абсолютный путь.The path originally specified by the user, whether relative or absolute.

Свойства

Attributes

Получает или задает атрибуты для текущего файла или каталога.Gets or sets the attributes for the current file or directory.

CreationTime

Получает или задает время создания текущего файла или каталога.Gets or sets the creation time of the current file or directory.

CreationTimeUtc

Получает или задает время создания текущего файла или каталога в формате UTC.Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

Exists

Получает значение, показывающее, существует ли данный файл или каталог.Gets a value indicating whether the file or directory exists.

Extension

Получает строку, содержащую расширение файла.Gets the string representing the extension part of the file.

FullName

Получает полный путь к каталогу или файлу.Gets the full path of the directory or file.

LastAccessTime

Получает или задает время последнего доступа к текущему файлу или каталогу.Gets or sets the time the current file or directory was last accessed.

LastAccessTimeUtc

Получает или задает дату и время последнего доступа к заданному файлу или каталогу в формате всеобщего скоординированного времени (UTC).Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

LastWriteTime

Получает или задает время последней операции записи в текущий файл или каталог.Gets or sets the time when the current file or directory was last written to.

LastWriteTimeUtc

Получает или задает время последней операции записи в текущий файл или каталог в формате всеобщего скоординированного времени (UTC).Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

Name

Для файлов — получает имя файла.For files, gets the name of the file. Для каталогов — получает имя последнего каталога в иерархии, если таковая существует.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. В противном случае свойство Name получает имя данного каталога.Otherwise, the Name property gets the name of the directory.

Методы

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Унаследовано от MarshalByRefObject)
Delete()

Удаляет файл или каталог.Deletes a file or directory.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Устанавливает объект SerializationInfo с именем файла и дополнительными сведениями об исключении.Sets the SerializationInfo object with the file name and additional exception information.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Унаследовано от MarshalByRefObject)
Refresh()

Обновляет состояние объекта.Refreshes the state of the object.

ToString()

Возвращает исходный путь.Returns the original path. Используйте свойства FullName или Name для полного пути или имени файла или каталога.Use the FullName or Name properties for the full path or file/directory name.

Безопасность

FileIOPermission
для разрешения на наследование от этого класса.for permission to inherit from this class. Связанное перечисление:UnrestrictedAssociated enumeration: Unrestricted Действие по обеспечению безопасности: Требование наследованияSecurity Action: Inheritance Demand

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

Дополнительно