FileInfo FileInfo FileInfo FileInfo Class

Definition

Stellt Eigenschaften und Instanzmethoden zum Erstellen, Kopieren, Löschen, Verschieben und Öffnen von Dateien bereit und unterstützt das Erstellen von FileStream-Objekten. Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. Diese Klasse kann nicht vererbt werden. This class cannot be inherited.

public ref class FileInfo sealed : System::IO::FileSystemInfo
[System.Runtime.InteropServices.ComVisible(true)]
[Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Vererbung
Attribute
ComVisibleAttribute SerializableAttribute

Beispiele

Das folgende Beispiel zeigt einige der wichtigsten Elemente der FileInfo Klasse.The following example demonstrates some of the main members of the FileInfo class.

Wenn die Eigenschaften zuerst abgerufen werden, FileInfo Aufrufe der Refresh -Methode und speichert die Informationen über die Datei.When the properties are first retrieved, FileInfo calls the Refresh method and caches information about the file. Bei nachfolgenden Aufrufen, müssen Sie aufrufen Refresh um die letzte Kopie der Informationen zu erhalten.On subsequent calls, you must call Refresh to get the latest copy of the information.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = Path::GetTempFileName();
   FileInfo^ fi1 = gcnew FileInfo( path );
   //Create a file to write to.
   StreamWriter^ sw = fi1->CreateText();
   try
   {
	 sw->WriteLine( "Hello" );
	 sw->WriteLine( "And" );
	 sw->WriteLine( "Welcome" );
   }
   finally
   {
	 if ( sw )
		delete (IDisposable^)sw;
   }

   //Open the file to read from.
   StreamReader^ sr = fi1->OpenText();
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
         delete (IDisposable^)sr;
   }

   try
   {
      String^ path2 = Path::GetTempFileName();
      FileInfo^ fi2 = gcnew FileInfo( path2 );

      //Ensure that the target does not exist.
      fi2->Delete();

      //Copy the file.
      fi1->CopyTo( path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );

      //Delete the newly created file.
      fi2->Delete();
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e )
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        //Create a file to write to.
        using (StreamWriter sw = fi1.CreateText()) 
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path1 As String = Path.GetTempFileName()
        Dim path2 As String = Path.GetTempFileName()
        Dim fi As FileInfo = New FileInfo(path1)

        'Create a file to write to.
        Dim sw As StreamWriter = fi.CreateText()

        sw.WriteLine("Hello")
        sw.WriteLine("And")
        sw.WriteLine("Welcome")
        sw.Flush()
        sw.Close()

        Try
            'Open the file to read from.
            Dim sr As StreamReader = fi.OpenText()

            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
            Dim fi2 As FileInfo = New FileInfo(path2)

            'Ensure that the target does not exist.
            fi2.Delete()

            'Copy the file.
            fi.CopyTo(path2)
            Console.WriteLine("{0} was copied to {1}.", path1, path2)

            'Delete the newly created file.
            fi2.Delete()
            Console.WriteLine("{0} was successfully deleted.", path2)

        Catch e As Exception
            Console.WriteLine("The process failed: {0}.", e.ToString())
        End Try
    End Sub
End Class

In diesem Beispiel wird die Ausgabe ähnlich der folgenden.This example produces output similar to the following.

Hello  
And  
Welcome  
C:\Users\userName\AppData\Local\Temp\tmp70AB.tmp was copied to C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp.  
C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp was successfully deleted.  

Hinweise

Verwenden der FileInfo Klasse für normale Vorgänge wie kopieren, verschieben, umbenennen, erstellen, öffnen, löschen und Anfügen von Dateien.Use the FileInfo class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files.

Wenn Sie mehrere Vorgänge in der gleichen Datei ausführen, es kann effizienter sein, verwenden FileInfo Methoden statt der entsprechenden statischen Methoden der Instanz der File Klasse, da eine sicherheitsüberprüfung nicht immer notwendig sein werden.If you are performing multiple operations on the same file, it can be more efficient to use FileInfo instance methods instead of the corresponding static methods of the File class, because a security check will not always be necessary.

Viele der FileInfo Methoden andere e/a-Typen zurückgeben, beim Erstellen oder Öffnen von Dateien.Many of the FileInfo methods return other I/O types when you create or open files. Diese können anderen Typen Dateien weiter bearbeiten.You can use these other types to further manipulate a file. Weitere Informationen finden Sie unter bestimmten FileInfo Elemente wie z. B. Open, OpenRead, OpenText, CreateText, oder Create.For more information, see specific FileInfo members such as Open, OpenRead, OpenText, CreateText, or Create.

Standardmäßig wird die vollständige Lese-/Schreibzugriff auf neue Dateien für alle Benutzer gewährt.By default, full read/write access to new files is granted to all users.

Die folgende Tabelle beschreibt die Enumerationen, die verwendet werden, um das Verhalten der verschiedenen anzupassen FileInfo Methoden.The following table describes the enumerations that are used to customize the behavior of various FileInfo methods.

EnumerationEnumeration Beschreibung Description
FileAccess Gibt an, Lese- und Schreibzugriff in eine Datei.Specifies read and write access to a file.
FileShare Gibt die Ebene des gewährten Zugriffs für eine Datei, die bereits verwendet wird.Specifies the level of access permitted for a file that is already in use.
FileMode Gibt an, ob der Inhalt einer vorhandenen Datei beibehalten oder überschrieben werden, und gibt an, ob Anforderungen zum Erstellen von einer vorhandenen Datei dazu führen, dass eine Ausnahme aus.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

Hinweis

Klicken Sie im Member, die einen Pfad als eine Eingabezeichenfolge akzeptieren, dass der Pfad muss wohlgeformt sein, oder eine Ausnahme ausgelöst.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Wenn ein Pfad vollständig qualifiziert ist, aber mit einem Leerzeichen beginnt, wird der Pfad beispielsweise nicht in Methoden der Klasse gekürzt.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Aus diesem Grund wird der Pfad ist falsch formatiert, und wird eine Ausnahme ausgelöst.Therefore, the path is malformed and an exception is raised. Auf ähnliche Weise kann keinen Pfad oder eine Kombination von Pfaden zweimal vollqualifiziert sein.Similarly, a path or a combination of paths cannot be fully qualified twice. Eine Ausnahme in den meisten Fällen wird in "c:\temp c:\windows" z. B. auch auslöst.For example, "c:\temp c:\windows" also raises an exception in most cases. Stellen Sie sicher, dass die Pfade wohlgeformt sind, bei Verwendung von Methoden, die eine Pfadzeichenfolge akzeptieren.Ensure that your paths are well-formed when using methods that accept a path string.

Bei Membern, die einen Pfad zu akzeptieren, kann der Pfad zu einer Datei oder nur ein Verzeichnis verweisen.In members that accept a path, the path can refer to a file or just a directory. Der angegebene Pfad kann auch auf einen relativen Pfad oder ein Universal Naming Convention (UNC)-Pfad für den Namen eines Servers und der freigabeeinstellungen verweisen.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Beispielsweise sind alle folgenden Pfade zulässig:For example, all the following are acceptable paths:

  • "c:\\MyDir\\MyFile.txt" in C#- oder "c:\MyDir\MyFile.txt" in Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\MyDir" in C#- oder "c:\MyDir" in Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "" MyDir "\\MySubdir" in C#- oder "MyDir\MySubDir" in Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\MyServer\\MyShare" in c# oder "\\MyServer\MyShare" in Visual Basic."\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Die FileInfo Klasse stellt die folgenden Eigenschaften, mit denen Sie Informationen zu einer Datei abrufen können.The FileInfo class provides the following properties that enable you to retrieve information about a file. Ein Beispiel zur Verwendung der einzelnen Eigenschaften finden Sie unter den Eigenschaftenseiten.For an example of how to use each property, see the property pages.

  • Die Directory Eigenschaft ruft ein Objekt, das das übergeordnete Verzeichnis der Datei darstellt.The Directory property retrieves an object that represents the parent directory of a file.

  • Die DirectoryName -Eigenschaft ruft den vollständigen Pfad des übergeordneten Verzeichnisses einer Datei ab.The DirectoryName property retrieves the full path of the parent directory of a file.

  • Die Exists Eigenschaft überprüft das Vorhandensein einer Datei, bevor Sie darauf.The Exists property checks for the presence of a file before operating on it.

  • Die IsReadOnly Eigenschaft ruft ab oder legt einen Wert, der angibt, ob eine Datei geändert werden kann.The IsReadOnly property retrieves or sets a value that specifies whether a file can be modified.

  • Die Length Ruft die Größe einer Datei ab.The Length retrieves the size of a file.

  • Die Name Ruft den Namen einer Datei ab.The Name retrieves the name of a file.

Konstruktoren

FileInfo(String) FileInfo(String) FileInfo(String) FileInfo(String)

Initialisiert eine neue Instanz der FileInfo-Klasse, die als Wrapper für einen Dateipfad fungiert. Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path.

Eigenschaften

Attributes Attributes Attributes Attributes

Ruft die Attribute für die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diese fest. Gets or sets the attributes for the current file or directory.

(Inherited from FileSystemInfo)
CreationTime CreationTime CreationTime CreationTime

Ruft den Erstellungszeitpunkt der aktuellen Datei oder des aktuellen Verzeichnisses ab oder legt diesen fest. Gets or sets the creation time of the current file or directory.

(Inherited from FileSystemInfo)
CreationTimeUtc CreationTimeUtc CreationTimeUtc CreationTimeUtc

Ruft die Erstellungszeit der aktuellen Datei oder des aktuellen Verzeichnisses im UTC-Format (Coordinated Universal Time) ab oder legt diese fest. Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Inherited from FileSystemInfo)
Directory Directory Directory Directory

Ruft eine Instanz des übergeordneten Verzeichnisses ab. Gets an instance of the parent directory.

DirectoryName DirectoryName DirectoryName DirectoryName

Ruft eine Zeichenfolge ab, die den vollständigen Pfad des Verzeichnisses darstellt. Gets a string representing the directory's full path.

Exists Exists Exists Exists

Ruft einen Wert ab, der angibt, ob eine Datei vorhanden ist. Gets a value indicating whether a file exists.

Extension Extension Extension Extension

Ruft die Zeichenfolge ab, die den Erweiterungsteil der Datei darstellt. Gets the string representing the extension part of the file.

(Inherited from FileSystemInfo)
FullName FullName FullName FullName

Ruft den vollständigen Pfad des Verzeichnisses oder der Datei ab. Gets the full path of the directory or file.

(Inherited from FileSystemInfo)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Ruft einen Wert ab, der bestimmt, ob die aktuelle Datei schreibgeschützt ist, oder legt diesen Wert fest. Gets or sets a value that determines if the current file is read only.

LastAccessTime LastAccessTime LastAccessTime LastAccessTime

Ruft den Zeitpunkt des letzten Zugriffs auf die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diesen fest. Gets or sets the time the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc

Ruft den Zeitpunkt des letzten Zugriffs auf die aktuelle Datei bzw. das aktuelle Verzeichnis im UTC-Format (Coordinated Universal Time) ab oder legt diesen fest. Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastWriteTime LastWriteTime LastWriteTime LastWriteTime

Ruft den Zeitpunkt des letzten Schreibzugriffs auf die aktuelle Datei oder das aktuelle Verzeichnis ab oder legt diesen fest. Gets or sets the time when the current file or directory was last written to.

(Inherited from FileSystemInfo)
LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc

Ruft den Zeitpunkt des letzten Schreibens in die aktuelle Datei oder das aktuelle Verzeichnis im UTC-Format (Coordinated Universal Time) ab oder legt diesen fest. Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

(Inherited from FileSystemInfo)
Length Length Length Length

Ruft die Größe der aktuellen Datei in Byte ab. Gets the size, in bytes, of the current file.

Name Name Name Name

Ruft den Namen der Datei ab. Gets the name of the file.

Methoden

AppendText() AppendText() AppendText() AppendText()

Erstellt einen StreamWriter, der der Datei Text hinzufügt, die von dieser Instanz von FileInfo dargestellt wird. Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.

CopyTo(String) CopyTo(String) CopyTo(String) CopyTo(String)

Kopiert eine vorhandene Datei in eine neue Datei, ohne das Überschreiben einer vorhandenen Datei zuzulassen. Copies an existing file to a new file, disallowing the overwriting of an existing file.

CopyTo(String, Boolean) CopyTo(String, Boolean) CopyTo(String, Boolean) CopyTo(String, Boolean)

Kopiert eine vorhandene Datei in eine neue Datei und lässt das Überschreiben einer vorhandenen Datei zu. Copies an existing file to a new file, allowing the overwriting of an existing file.

Create() Create() Create() Create()

Erstellt eine Datei. Creates a file.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateText() CreateText() CreateText() CreateText()

Erstellt einen StreamWriter, der eine neue Textdatei erstellt und in diese schreibt. Creates a StreamWriter that writes a new text file.

Decrypt() Decrypt() Decrypt() Decrypt()

Entschlüsselt eine Datei, die vom aktuellen Konto mit der Encrypt()-Methode verschlüsselt wurde. Decrypts a file that was encrypted by the current account using the Encrypt() method.

Delete() Delete() Delete() Delete()

Löscht eine Datei unwiderruflich. Permanently deletes a file.

Encrypt() Encrypt() Encrypt() Encrypt()

Verschlüsselt eine Datei, sodass sie nur mit dem Konto, mit dem die Datei verschlüsselt wurde, entschlüsselt werden kann. Encrypts a file so that only the account used to encrypt the file can decrypt it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAccessControl() GetAccessControl() GetAccessControl() GetAccessControl()

Ruft ein FileSecurity-Objekt ab, das die Einträge in der Zugriffssteuerungsliste für die Datei kapselt, das vom aktuellen FileInfo-Objekt beschrieben wird. Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileInfo object.

GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections)

Ruft ein FileSecurity-Objekt ab, das den angegebenen Typ der Einträge in der Zugriffssteuerungsliste für die Datei kapselt, die vom aktuellen FileInfo-Objekt beschrieben wird. Gets a FileSecurity object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als die Standardhashfunktion. Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Legt das SerializationInfo-Objekt mit dem Dateinamen und zusätzlichen Informationen zur Ausnahme fest. Sets the SerializationInfo object with the file name and additional exception information.

(Inherited from FileSystemInfo)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab. Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab. Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object. Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
MoveTo(String) MoveTo(String) MoveTo(String) MoveTo(String)

Verschiebt eine angegebene Datei an einen neuen Speicherort und ermöglicht das Angeben eines neuen Dateinamens. Moves a specified file to a new location, providing the option to specify a new file name.

Open(FileMode) Open(FileMode) Open(FileMode) Open(FileMode)

Öffnet eine Datei im angegebenen Modus. Opens a file in the specified mode.

Open(FileMode, FileAccess) Open(FileMode, FileAccess) Open(FileMode, FileAccess) Open(FileMode, FileAccess)

Öffnet eine Datei im angegebenen Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff. Opens a file in the specified mode with read, write, or read/write access.

Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare)

Öffnet eine Datei im angegebenen Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und der angegebenen Freigabeoption. Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.

OpenRead() OpenRead() OpenRead() OpenRead()

Erstellt einen schreibgeschützten FileStream. Creates a read-only FileStream.

OpenText() OpenText() OpenText() OpenText()

Erstellt einen StreamReader mit UTF8-Codierung, der aus einer vorhandenen Textdatei liest. Creates a StreamReader with UTF8 encoding that reads from an existing text file.

OpenWrite() OpenWrite() OpenWrite() OpenWrite()

Erstellt einen lesegeschützten FileStream. Creates a write-only FileStream.

Refresh() Refresh() Refresh() Refresh()

Aktualisiert den Zustand des Objekts. Refreshes the state of the object.

(Inherited from FileSystemInfo)
Replace(String, String) Replace(String, String) Replace(String, String) Replace(String, String)

Ersetzt den Inhalt einer angegebenen Datei durch die vom aktuellen FileInfo-Objekt beschriebene Datei, löscht die ursprüngliche Datei und erstellt eine Sicherungskopie der ersetzten Datei. Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file.

Replace(String, String, Boolean) Replace(String, String, Boolean) Replace(String, String, Boolean) Replace(String, String, Boolean)

Ersetzt den Inhalt einer angegebenen Datei durch die vom aktuellen FileInfo-Objekt beschriebene Datei, löscht die ursprüngliche Datei und erstellt eine Sicherungskopie der ersetzten Datei. Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file. Gibt auch an, ob Mergefehler ignoriert werden sollen. Also specifies whether to ignore merge errors.

SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity)

Wendet von einem FileSecurity-Objekt beschriebene Einträge in Zugriffssteuerungslisten auf die Datei an, die vom aktuellen FileInfo-Objekt beschrieben wird. Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.

ToString() ToString() ToString() ToString()

Gibt den Pfad als Zeichenfolge zurück. Returns the path as a string.

Felder

FullPath FullPath FullPath FullPath

Stellt den vollqualifizierten Pfad des Verzeichnisses oder der Datei dar. Represents the fully qualified path of the directory or file.

(Inherited from FileSystemInfo)
OriginalPath OriginalPath OriginalPath OriginalPath

Der ursprünglich vom Benutzer angegebene Pfad, relativ oder absolut. The path originally specified by the user, whether relative or absolute.

(Inherited from FileSystemInfo)

Gilt für:

Siehe auch