FileSystemInfo-Klasse
Stellt die Basisklasse sowohl für FileInfo-Objekte als auch für DirectoryInfo-Objekte bereit.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public MustInherit Class FileSystemInfo
Inherits MarshalByRefObject
Implements ISerializable
'Usage
Dim instance As FileSystemInfo
[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class FileSystemInfo : MarshalByRefObject, ISerializable
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class FileSystemInfo abstract : public MarshalByRefObject, ISerializable
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public abstract class FileSystemInfo extends MarshalByRefObject implements ISerializable
SerializableAttribute
ComVisibleAttribute(true)
public abstract class FileSystemInfo extends MarshalByRefObject implements ISerializable
Hinweise
Die FileSystemInfo-Klasse enthält übliche Methoden für das Bearbeiten von Dateien und Verzeichnissen. Ein FileSystemInfo-Objekt kann entweder eine Datei oder ein Verzeichnis darstellen und dient daher als Basis für FileInfo-Objekte oder DirectoryInfo-Objekte. Verwenden Sie diese Basisklasse bei der Analyse einer großen Anzahl von Dateien und Verzeichnissen.
FileSystemInfo ruft beim ersten Aufruf Refresh auf und gibt die zwischengespeicherten Informationen über APIs zurück, um Attribute abzurufen usw. Bei nachfolgenden Aufrufen müssen Sie Refresh aufrufen, um die aktuellste Kopie der Informationen abzurufen.
Eine abgeleitete Klasse kann nur dann von FileSystemInfo erben, wenn die abgeleitete Klasse über die AllAccess-Berechtigung aus der FileIOPermissionAccess-Enumeration verfügt.
Bei Membern, die einen Pfad akzeptieren, kann der Pfad auf eine Datei oder nur auf ein Verzeichnis verweisen. Der angegebene Pfad kann auch auf einen relativen Pfad oder auf einen UNC-Pfad (Universal Naming Convention) für einen Server- und Freigabenamen verweisen. Beispielsweise sind alle folgenden Pfade zulässig:
"c:\\MyDir\\MyFile.txt" in C# oder "c:\MyDir\MyFile.txt" in Visual Basic.
"c:\\MyDir" in C# oder "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C# oder "MyDir\MySubDir" in Visual Basic.
"\\\\MyServer\\MyShare" in C# oder "\\MyServer\MyShare" in Visual Basic.
In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Aufgabe |
Beispiel in diesem Thema |
---|---|
Eine Textdatei erstellen. |
|
Schreiben in eine Textdatei. |
|
Lesen aus einer Textdatei. |
|
Anfügen von Text an eine Datei. |
|
Löschen einer Datei. |
|
Umbenennen oder Verschieben einer Datei. |
|
Kopieren einer Datei. |
|
Erstellen eines Verzeichnisses. |
System.IO.DirectoryInfo |
Erstellen eines Unterverzeichnisses. |
|
Umbenennen oder Verschieben eines Verzeichnisses. |
|
Löschen eines Verzeichnisses. |
|
Kopieren eines Verzeichnisses. |
|
Die Dateien in einem Verzeichnis nach Größe sortieren. |
|
Die Dateien in einem Verzeichnis anzeigen. |
|
Die Unterverzeichnisse eines Verzeichnisses anzeigen. |
|
Alle Dateien in allen Unterverzeichnissen eines Verzeichnisses anzeigen. |
GetFileSystemInfos |
Die Größe eines Verzeichnisses ermitteln. |
Directory |
Die Größe einer Datei abrufen. |
|
Attribute einer Datei abrufen. |
|
Die Attribute einer Datei festlegen. |
|
Bestimmen, ob eine Datei vorhanden ist. |
|
Aus einer Binärdatei lesen. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
Schreiben in eine Binärdatei. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
Eine Dateierweiterung abrufen. |
|
Den vollqualifizierten Pfad einer Datei abrufen. |
|
Den Dateinamen sowie die Dateierweiterung aus einem Pfad abrufen. |
|
Die Erweiterung einer Datei ändern. |
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie in einer Schleife alle Dateien und Verzeichnisse durchlaufen werden, um Informationen über jeden Eintrag abzufragen.
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) <> 0 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
.NET Framework-Sicherheit
- FileIOPermission Zugeordnete Enumeration: Unrestricted Sicherheitsaktion: Vererbungsanforderung Für die Berechtigung, von dieser Klasse zu erben.
Vererbungshierarchie
System.Object
System.MarshalByRefObject
System.IO.FileSystemInfo
System.IO.DirectoryInfo
System.IO.FileInfo
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
FileSystemInfo-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei
Grundlegende Datei-E/A
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei