Share via


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.

Gewusst wie: Schreiben von Text in eine Datei

Schreiben in eine Textdatei.

Gewusst wie: Schreiben von Text in eine Datei

Lesen aus einer Textdatei.

Gewusst wie: Lesen aus einer Textdatei

Anfügen von Text an eine Datei.

Gewusst wie: Öffnen und Anfügen an eine Protokolldatei

File.AppendText

FileInfo.AppendText

Löschen einer Datei.

File.Delete

FileInfo.Delete

Umbenennen oder Verschieben einer Datei.

File.Move

FileInfo.MoveTo

Kopieren einer Datei.

File.Copy

FileInfo.CopyTo

Erstellen eines Verzeichnisses.

Directory.CreateDirectory

System.IO.DirectoryInfo

Erstellen eines Unterverzeichnisses.

CreateSubdirectory

Umbenennen oder Verschieben eines Verzeichnisses.

Directory.Move

DirectoryInfo.MoveTo

Löschen eines Verzeichnisses.

Directory.Delete

DirectoryInfo.Delete

Kopieren eines Verzeichnisses.

Directory

Die Dateien in einem Verzeichnis nach Größe sortieren.

GetFileSystemInfos

Die Dateien in einem Verzeichnis anzeigen.

Name

Die Unterverzeichnisse eines Verzeichnisses anzeigen.

GetDirectories

GetDirectories

Alle Dateien in allen Unterverzeichnissen eines Verzeichnisses anzeigen.

GetFileSystemInfos

Die Größe eines Verzeichnisses ermitteln.

Directory

Die Größe einer Datei abrufen.

FileInfo.Length

Attribute einer Datei abrufen.

File.GetAttributes

Die Attribute einer Datei festlegen.

File.SetAttributes

Bestimmen, ob eine Datei vorhanden ist.

File.Exists

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.

Path.GetExtension

Den vollqualifizierten Pfad einer Datei abrufen.

Path.GetFullPath

Den Dateinamen sowie die Dateierweiterung aus einem Pfad abrufen.

Path.GetFileName

Die Erweiterung einer Datei ändern.

Path.ChangeExtension

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