FileInfo Třída

Definice

Poskytuje vlastnosti a metody instance pro vytváření, kopírování, odstraňování, přesouvání a otevírání souborů a pomůcky při vytváření FileStream objektů.Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. Tuto třídu nelze zdědit.This class cannot be inherited.

public ref class FileInfo sealed : System::IO::FileSystemInfo
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Dědičnost
Dědičnost
Atributy

Příklady

Následující příklad ukazuje některé z hlavních členů třídy FileInfo.The following example demonstrates some of the main members of the FileInfo class.

Při prvním načtení vlastností FileInfo volá metodu Refresh a ukládá do mezipaměti informace o souboru.When the properties are first retrieved, FileInfo calls the Refresh method and caches information about the file. Při následném volání musíte volat Refresh, abyste získali nejnovější kopii informací.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();
        var 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()) 
        {
            var s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

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

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

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

            // Delete the newly created file.
            fi2.Delete();
            Console.WriteLine($"{path2} was successfully deleted.");
        } 
        catch (Exception e) 
        {
            Console.WriteLine($"The process failed: {e.ToString()}");
        }
    }
}
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 New FileInfo(path1)

        ' Create a file to write to.
        Using sw As StreamWriter = fi.CreateText()
            sw.WriteLine("Hello")
            sw.WriteLine("And")
            sw.WriteLine("Welcome")
        End Using

        Try
            ' Open the file to read from.
            Using sr As StreamReader = fi.OpenText()
                Do While sr.Peek() >= 0
                    Console.WriteLine(sr.ReadLine())
                Loop
            End Using

            Dim fi2 As New FileInfo(path2)

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

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

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

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

Tento příklad vytvoří výstup podobný následujícímu.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.  

Poznámky

Použijte třídu FileInfo pro typické operace, jako je kopírování, přesunutí, přejmenování, vytváření, otevírání, odstraňování a připojování k souborům.Use the FileInfo class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files.

Pokud provádíte více operací se stejným souborem, může být efektivnější použít FileInfo metody instance namísto odpovídajících statických metod File třídy, protože kontroly zabezpečení nebudou vždy nutné.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.

Mnohé z FileInfo metod vracejí jiné vstupně-výstupní typy při vytváření nebo otevírání souborů.Many of the FileInfo methods return other I/O types when you create or open files. Tyto další typy můžete použít k další manipulaci se souborem.You can use these other types to further manipulate a file. Další informace najdete v tématu konkrétní FileInfoé členy, jako jsou Open, OpenRead, OpenText, CreateTextnebo Create.For more information, see specific FileInfo members such as Open, OpenRead, OpenText, CreateText, or Create.

Ve výchozím nastavení je úplný přístup pro čtení i zápis pro nové soubory udělen všem uživatelům.By default, full read/write access to new files is granted to all users.

V následující tabulce jsou popsány výčty, které se používají k přizpůsobení chování různých FileInfoch metod.The following table describes the enumerations that are used to customize the behavior of various FileInfo methods.

VýčetEnumeration PopisDescription
FileAccess Určuje přístup pro čtení a zápis do souboru.Specifies read and write access to a file.
FileShare Určuje úroveň přístupu povoleného pro soubor, který se už používá.Specifies the level of access permitted for a file that is already in use.
FileMode Určuje, zda je obsah existujícího souboru zachován nebo přepsán a zda žádosti o vytvoření existujícího souboru způsobují výjimku.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

Poznámka

V členech, které přijímají cestu jako vstupní řetězec, musí být tato cesta ve správném formátu nebo vyvolána výjimka.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Například pokud je cesta plně kvalifikovaná, ale začíná mezerou, cesta není zkrácena v metodách třídy.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Proto je cesta poškozená a vyvolá se výjimka.Therefore, the path is malformed and an exception is raised. Podobně cesta nebo kombinace cest nemůže být plně kvalifikované dvakrát.Similarly, a path or a combination of paths cannot be fully qualified twice. Například "c:\temp c:\Windows" také ve většině případů vyvolá výjimku.For example, "c:\temp c:\windows" also raises an exception in most cases. Při použití metod, které přijímají řetězec cesty, se ujistěte, že jsou vaše cesty ve správném formátu.Ensure that your paths are well-formed when using methods that accept a path string.

V členech, které přijímají cestu, může cesta odkazovat na soubor nebo pouze na adresář.In members that accept a path, the path can refer to a file or just a directory. Zadaná cesta může také odkazovat na relativní cestu nebo cestu UNC (Universal Naming Convention) pro server a název sdílené složky.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Například všechny následující jsou přijatelné cesty:For example, all the following are acceptable paths:

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

  • "c:\\MyDir" in C#"nebo" c:\MyDir "v Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir\\MySubdir" v C#"nebo" MyDir\MySubDir "v Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\MyServer\\MyShare" in C#nebo "\\MyServer\MyShare" v Visual Basic."\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Třída FileInfo poskytuje následující vlastnosti, které umožňují načíst informace o souboru.The FileInfo class provides the following properties that enable you to retrieve information about a file. Příklad použití jednotlivých vlastností naleznete na stránce vlastností.For an example of how to use each property, see the property pages.

  • Vlastnost Directory načte objekt, který představuje nadřazený adresář souboru.The Directory property retrieves an object that represents the parent directory of a file.

  • Vlastnost DirectoryName načítá úplnou cestu k nadřazenému adresáři souboru.The DirectoryName property retrieves the full path of the parent directory of a file.

  • Vlastnost Exists kontroluje přítomnost souboru před tím, než na něm bude pracovat.The Exists property checks for the presence of a file before operating on it.

  • Vlastnost IsReadOnly načítá nebo nastavuje hodnotu, která určuje, zda lze soubor upravit.The IsReadOnly property retrieves or sets a value that specifies whether a file can be modified.

  • Length načítá velikost souboru.The Length retrieves the size of a file.

  • Name načte název souboru.The Name retrieves the name of a file.

Konstruktory

FileInfo(String)

Inicializuje novou instanci třídy FileInfo, která funguje jako obálka pro cestu k souboru.Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path.

Pole

FullPath

Představuje plně kvalifikovanou cestu k adresáři nebo souboru.Represents the fully qualified path of the directory or file.

(Zděděno od FileSystemInfo)
OriginalPath

Cesta původně zadaná uživatelem, ať už relativní, nebo absolutní.The path originally specified by the user, whether relative or absolute.

(Zděděno od FileSystemInfo)

Vlastnosti

Attributes

Získá nebo nastaví atributy pro aktuální soubor nebo adresář.Gets or sets the attributes for the current file or directory.

(Zděděno od FileSystemInfo)
CreationTime

Získá nebo nastaví čas vytvoření aktuálního souboru nebo adresáře.Gets or sets the creation time of the current file or directory.

(Zděděno od FileSystemInfo)
CreationTimeUtc

Získá nebo nastaví čas vytvoření aktuálního souboru nebo adresáře v koordinovaném světovým čase (UTC).Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Zděděno od FileSystemInfo)
Directory

Načte instanci nadřazeného adresáře.Gets an instance of the parent directory.

DirectoryName

Načte řetězec představující úplnou cestu adresáře.Gets a string representing the directory's full path.

Exists

Načte hodnotu, která označuje, jestli soubor existuje.Gets a value indicating whether a file exists.

Extension

Získá řetězec představující část rozšíření souboru.Gets the string representing the extension part of the file.

(Zděděno od FileSystemInfo)
FullName

Načte úplnou cestu k adresáři nebo souboru.Gets the full path of the directory or file.

(Zděděno od FileSystemInfo)
IsReadOnly

Získává nebo nastavuje hodnotu, která určuje, jestli je aktuální soubor určený jen pro čtení.Gets or sets a value that determines if the current file is read only.

LastAccessTime

Získá nebo nastaví čas, kdy byl aktuální soubor nebo adresář naposledy otevřen.Gets or sets the time the current file or directory was last accessed.

(Zděděno od FileSystemInfo)
LastAccessTimeUtc

Získá nebo nastaví čas, ve koordinovaném světový čas (UTC), kdy byl naposledy použit aktuální soubor nebo adresář.Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

(Zděděno od FileSystemInfo)
LastWriteTime

Získá nebo nastaví čas, kdy byl naposledy zapsán aktuální soubor nebo adresář.Gets or sets the time when the current file or directory was last written to.

(Zděděno od FileSystemInfo)
LastWriteTimeUtc

Získá nebo nastaví čas ve standardu UTC (Coordinated Universal Time), kdy se aktuální soubor nebo adresář naposledy zapsal do.Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

(Zděděno od FileSystemInfo)
Length

Získá velikost aktuálního souboru v bajtech.Gets the size, in bytes, of the current file.

Name

Získá název souboru.Gets the name of the file.

Metody

AppendText()

Vytvoří StreamWriter, který připojí text k souboru reprezentovanému touto instancí FileInfo.Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.

CopyTo(String)

Zkopíruje existující soubor do nového souboru, což zakáže přepsání stávajícího souboru.Copies an existing file to a new file, disallowing the overwriting of an existing file.

CopyTo(String, Boolean)

Zkopíruje existující soubor do nového souboru, což umožní přepsat existující soubor.Copies an existing file to a new file, allowing the overwriting of an existing file.

Create()

Vytvoří soubor.Creates a file.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace požadované pro vygenerování proxy serveru, který se používá ke komunikaci se vzdáleným objektem.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Zděděno od MarshalByRefObject)
CreateText()

Vytvoří StreamWriter, který zapíše nový textový soubor.Creates a StreamWriter that writes a new text file.

Decrypt()

Dešifruje soubor, který byl zašifrovaný aktuálním účtem, pomocí metody Encrypt().Decrypts a file that was encrypted by the current account using the Encrypt() method.

Delete()

Trvale odstraní soubor.Permanently deletes a file.

Encrypt()

Zašifruje soubor, aby ho mohl dešifrovat jenom účet použitý k zašifrování souboru.Encrypts a file so that only the account used to encrypt the file can decrypt it.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetAccessControl()

Získá objekt FileSecurity, který zapouzdřuje položky seznamu řízení přístupu (ACL) pro soubor popsaný aktuálním objektem FileInfo.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileInfo object.

GetAccessControl(AccessControlSections)

Získá objekt FileSecurity, který zapouzdřuje zadaný typ záznamů seznamu řízení přístupu (ACL) pro soubor popsaný aktuálním objektem FileInfo.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()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetLifetimeService()

Načte aktuální objekt služby životnosti, který řídí zásady životního cyklu pro tuto instanci.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Zděděno od MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Nastaví objekt SerializationInfo s názvem souboru a dalšími informacemi o výjimce.Sets the SerializationInfo object with the file name and additional exception information.

(Zděděno od FileSystemInfo)
GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Zděděno od Object)
InitializeLifetimeService()

Získá objekt služby životnosti, který řídí zásady životního cyklu pro tuto instanci.Obtains a lifetime service object to control the lifetime policy for this instance.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří kopii aktuálního objektu MarshalByRefObject bez podstruktury.Creates a shallow copy of the current MarshalByRefObject object.

(Zděděno od MarshalByRefObject)
MoveTo(String)

Přesune zadaný soubor do nového umístění a poskytne možnost zadat nový název souboru.Moves a specified file to a new location, providing the option to specify a new file name.

MoveTo(String, Boolean)

Přesune zadaný soubor do nového umístění a poskytne možnost zadat nový název souboru a přepsat cílový soubor, pokud již existuje.Moves a specified file to a new location, providing the options to specify a new file name and to overwrite the destination file if it already exists.

Open(FileMode)

Otevře soubor v zadaném režimu.Opens a file in the specified mode.

Open(FileMode, FileAccess)

Otevře soubor v zadaném režimu s přístupem pro čtení, zápis nebo čtení a zápis.Opens a file in the specified mode with read, write, or read/write access.

Open(FileMode, FileAccess, FileShare)

Otevře soubor v zadaném režimu s přístupem pro čtení, zápis nebo čtení a zápis a zadanou možností sdílení.Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.

OpenRead()

Vytvoří FileStreamjen pro čtení.Creates a read-only FileStream.

OpenText()

Vytvoří StreamReader s kódováním UTF8, které čte z existujícího textového souboru.Creates a StreamReader with UTF8 encoding that reads from an existing text file.

OpenWrite()

Vytvoří FileStreampouze pro zápis.Creates a write-only FileStream.

Refresh()

Aktualizuje stav objektu.Refreshes the state of the object.

(Zděděno od FileSystemInfo)
Replace(String, String)

Nahradí obsah zadaného souboru souborem popsaným aktuálním FileInfo objektem, odstraní původní soubor a vytvoří zálohu nahrazeného souboru.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)

Nahradí obsah zadaného souboru souborem popsaným aktuálním FileInfo objektem, odstraní původní soubor a vytvoří zálohu nahrazeného souboru.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. Určuje také, jestli se mají ignorovat chyby sloučení.Also specifies whether to ignore merge errors.

SetAccessControl(FileSecurity)

Aplikuje seznam řízení přístupu (ACL), který je popsaný objektem FileSecurity, do souboru popsanýho aktuálním objektem FileInfo.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.

ToString()

Vrátí cestu jako řetězec.Returns the path as a string. Pro úplnou cestu použijte vlastnost Name.Use the Name property for the full path.

Metody rozšíření

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Vytvoří nový datový proud souboru, který zajišťuje jeho vytvoření se zadanými vlastnostmi a nastaveními zabezpečení.Creates a new file stream, ensuring it is created with the specified properties and security settings.

GetAccessControl(FileInfo)

Vrátí informace o zabezpečení souboru.Returns the security information of a file.

GetAccessControl(FileInfo, AccessControlSections)

Vrátí informace o zabezpečení souboru.Returns the security information of a file.

SetAccessControl(FileInfo, FileSecurity)

Změní atributy zabezpečení stávajícího souboru.Changes the security attributes of an existing file.

Platí pro

Viz také