FileSystemInfo Class
Provides the base class for both FileInfo and DirectoryInfo objects.
Assembly: mscorlib (in mscorlib.dll)
System::MarshalByRefObject
System.IO::FileSystemInfo
System.IO::DirectoryInfo
System.IO::FileInfo
| Name | Description | |
|---|---|---|
![]() | FileSystemInfo() | Initializes a new instance of the FileSystemInfo class. |
![]() | FileSystemInfo(SerializationInfo^, StreamingContext) | Initializes a new instance of the FileSystemInfo class with serialized data. |
| Name | Description | |
|---|---|---|
![]() | 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 | 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 | 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 | 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. Otherwise, the Name property gets the name of the directory. |
| Name | Description | |
|---|---|---|
![]() | CreateObjRef(Type^) | Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.(Inherited from MarshalByRefObject.) |
![]() | Delete() | Deletes a file or directory. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetLifetimeService() | Retrieves the current lifetime service object that controls the lifetime policy for this instance.(Inherited from MarshalByRefObject.) |
![]() | GetObjectData(SerializationInfo^, StreamingContext) | Sets the SerializationInfo object with the file name and additional exception information. |
![]() | GetType() | |
![]() | InitializeLifetimeService() | Obtains a lifetime service object to control the lifetime policy for this instance.(Inherited from MarshalByRefObject.) |
![]() | MemberwiseClone() | |
![]() | MemberwiseClone(Boolean) | Creates a shallow copy of the current MarshalByRefObject object.(Inherited from MarshalByRefObject.) |
![]() | Refresh() | Refreshes the state of the object. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | FullPath | Represents the fully qualified path of the directory or file. |
![]() | OriginalPath | The path originally specified by the user, whether relative or absolute. |
The FileSystemInfo class contains methods that are common to file and directory manipulation. A 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.
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. 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:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.
"c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in 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.
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
for permission to inherit from this class. Associated enumeration: Unrestricted
Security Action: Inheritance Demand
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
.jpeg?cs-save-lang=1&cs-lang=cpp)
.jpeg?cs-save-lang=1&cs-lang=cpp)
.jpeg?cs-save-lang=1&cs-lang=cpp)
.jpeg?cs-save-lang=1&cs-lang=cpp)