FileInfo FileInfo FileInfo FileInfo Class

Definição

Fornece propriedades e métodos de instância para a criação, cópia, exclusão, deslocamento e abertura de arquivos, além de ajudar na criação de objetos FileStream.Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. Essa classe não pode ser herdada.This class cannot be inherited.

public ref class FileInfo sealed : 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
Herança
Atributos

Exemplos

O exemplo a seguir demonstra alguns dos principais membros da FileInfo classe.The following example demonstrates some of the main members of the FileInfo class.

Quando as propriedades são recuperadas pela FileInfo primeira vez Refresh , o chama o método e armazena em cache as informações sobre o arquivo.When the properties are first retrieved, FileInfo calls the Refresh method and caches information about the file. Em chamadas subsequentes, você deve Refresh chamar para obter a cópia mais recente das informações.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

Este exemplo produz uma saída semelhante à seguinte.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.  

Comentários

Use a FileInfo classe para operações típicas, como copiar, mover, renomear, criar, abrir, excluir e acrescentar a arquivos.Use the FileInfo class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files.

Se você estiver executando várias operações no mesmo arquivo, pode ser mais eficiente usar FileInfo métodos de instância em vez dos métodos estáticos correspondentes File da classe, porque uma verificação de segurança nem sempre será necessária.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.

Muitos dos FileInfo métodos retornam outros tipos de e/s quando você cria ou abre arquivos.Many of the FileInfo methods return other I/O types when you create or open files. Você pode usar esses outros tipos para manipular ainda mais um arquivo.You can use these other types to further manipulate a file. Para obter mais informações, consulte FileInfo Membros Openespecíficos, como OpenRead, OpenText CreateText,, ou Create.For more information, see specific FileInfo members such as Open, OpenRead, OpenText, CreateText, or Create.

Por padrão, o acesso completo de leitura/gravação para novos arquivos é concedido a todos os usuários.By default, full read/write access to new files is granted to all users.

A tabela a seguir descreve as enumerações que são usadas para personalizar o comportamento de FileInfo vários métodos.The following table describes the enumerations that are used to customize the behavior of various FileInfo methods.

EnumeraçãoEnumeration DescriçãoDescription
FileAccess Especifica acesso de leitura e gravação a um arquivo.Specifies read and write access to a file.
FileShare Especifica o nível de acesso permitido para um arquivo que já está em uso.Specifies the level of access permitted for a file that is already in use.
FileMode Especifica se o conteúdo de um arquivo existente é preservado ou substituído e se as solicitações para criar um arquivo existente causam uma exceção.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

Observação

Em membros que aceitam um caminho como uma cadeia de caracteres de entrada, esse caminho deve ser bem formado ou uma exceção é gerada.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Por exemplo, se um caminho for totalmente qualificado, mas começar com um espaço, o caminho não será cortado em métodos da classe.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Portanto, o caminho é malformado e uma exceção é gerada.Therefore, the path is malformed and an exception is raised. Da mesma forma, um caminho ou uma combinação de caminhos não pode ser totalmente qualificada duas vezes.Similarly, a path or a combination of paths cannot be fully qualified twice. Por exemplo, "c:\temp c:\Windows" também gera uma exceção na maioria dos casos.For example, "c:\temp c:\windows" also raises an exception in most cases. Verifique se os caminhos estão bem formados ao usar métodos que aceitem uma cadeia de caracteres de caminho.Ensure that your paths are well-formed when using methods that accept a path string.

Em membros que aceitam um caminho, o caminho pode se referir a um arquivo ou apenas a um diretório.In members that accept a path, the path can refer to a file or just a directory. O caminho especificado também pode se referir a um caminho relativo ou a um caminho UNC (Convenção de nomenclatura universal) para um servidor e um nome de compartilhamento.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Por exemplo, todos os seguintes são caminhos aceitáveis:For example, all the following are acceptable paths:

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

  • "c:\\MyDir" em C#ou "c:\MyDir" em Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "Mydir\\MySubdir" C#ou "MyDir\MySubDir" em Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\MyServer\\MyShare" C#ou"\\meuservidor\meucompartilhamento" em Visual Basic.\\"\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

A FileInfo classe fornece as propriedades a seguir que permitem que você recupere informações sobre um arquivo.The FileInfo class provides the following properties that enable you to retrieve information about a file. Para obter um exemplo de como usar cada propriedade, consulte as páginas de propriedades.For an example of how to use each property, see the property pages.

  • A Directory propriedade recupera um objeto que representa o diretório pai de um arquivo.The Directory property retrieves an object that represents the parent directory of a file.

  • A DirectoryName propriedade recupera o caminho completo do diretório pai de um arquivo.The DirectoryName property retrieves the full path of the parent directory of a file.

  • A Exists propriedade verifica a presença de um arquivo antes de operar nele.The Exists property checks for the presence of a file before operating on it.

  • A IsReadOnly propriedade recupera ou define um valor que especifica se um arquivo pode ser modificado.The IsReadOnly property retrieves or sets a value that specifies whether a file can be modified.

  • O Length recupera o tamanho de um arquivo.The Length retrieves the size of a file.

  • O Name recupera o nome de um arquivo.The Name retrieves the name of a file.

Construtores

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

Inicializa uma nova instância da classe FileInfo, que atua como um wrapper para um caminho de arquivo.Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path.

Propriedades

Attributes Attributes Attributes Attributes

Obtém ou define os atributos para o arquivo ou diretório atual.Gets or sets the attributes for the current file or directory.

(Inherited from FileSystemInfo)
CreationTime CreationTime CreationTime CreationTime

Obtém ou define a hora de criação do arquivo ou diretório atual.Gets or sets the creation time of the current file or directory.

(Inherited from FileSystemInfo)
CreationTimeUtc CreationTimeUtc CreationTimeUtc CreationTimeUtc

Obtém ou define a hora de criação, em UTC (tempo universal coordenado), do arquivo ou diretório atual.Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Inherited from FileSystemInfo)
Directory Directory Directory Directory

Obtém uma instância do diretório pai.Gets an instance of the parent directory.

DirectoryName DirectoryName DirectoryName DirectoryName

Obtém uma cadeia de caracteres que representa o caminho completo do diretório.Gets a string representing the directory's full path.

Exists Exists Exists Exists

Obtém um valor que indica se existe um arquivo.Gets a value indicating whether a file exists.

Extension Extension Extension Extension

Obtém a cadeia de caracteres que representa a parte da extensão do arquivo.Gets the string representing the extension part of the file.

(Inherited from FileSystemInfo)
FullName FullName FullName FullName

Obtém o caminho completo do diretório ou arquivo.Gets the full path of the directory or file.

(Inherited from FileSystemInfo)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Obtém ou define um valor que determina se o arquivo atual é somente leitura.Gets or sets a value that determines if the current file is read only.

LastAccessTime LastAccessTime LastAccessTime LastAccessTime

Obtém ou define a hora em que o arquivo ou o diretório atual foi acessado pela última vez.Gets or sets the time the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc

Obtém ou define a hora, no UTC (Tempo Universal Coordenado), em que o arquivo ou diretório atual foi acessado pela última vez.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

Obtém ou define a hora em que o arquivo ou o diretório atual foi usado para gravação pela última vez.Gets or sets the time when the current file or directory was last written to.

(Inherited from FileSystemInfo)
LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc

Obtém ou define a hora, em UTC (Tempo Universal Coordenado), em que o arquivo ou diretório atual foi gravado pela última vez.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

Obtém o tamanho, em bytes, do arquivo atual.Gets the size, in bytes, of the current file.

Name Name Name Name

Obtém o nome do arquivo.Gets the name of the file.

Métodos

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

Cria um StreamWriter que acrescenta o texto ao arquivo representado por essa instância do FileInfo.Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.

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

Copia um arquivo existente em um novo arquivo, não permitindo a substituição de um arquivo existente.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)

Copia um arquivo existente em um novo arquivo, permitindo a substituição de um arquivo existente.Copies an existing file to a new file, allowing the overwriting of an existing file.

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

Cria um arquivo.Creates a file.

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

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.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()

Cria um StreamWriter que grava um arquivo de texto.Creates a StreamWriter that writes a new text file.

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

Descriptografa um arquivo que foi criptografado pela conta atual usando o método Encrypt().Decrypts a file that was encrypted by the current account using the Encrypt() method.

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

Exclui permanentemente um arquivo.Permanently deletes a file.

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

Criptografa um arquivo para que somente a conta usada para criptografar o arquivo possa descriptografá-lo.Encrypts a file so that only the account used to encrypt the file can decrypt it.

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

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

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

Obtém um objeto FileSecurity que encapsula as entradas da ACL (lista de controle de acesso) do arquivo descrito pelo objeto FileInfo atual.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)

Obtém um objeto FileSecurity que encapsula o tipo especificado de entradas de ACL (lista de controle de acesso) do arquivo descrito pelo objeto FileInfo atual.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()

Serve como a função de hash padrão.Serves as the default hash function.

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

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.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)

Define o objeto SerializationInfo com o nome do arquivo e informações adicionais de exceção.Sets the SerializationInfo object with the file name and additional exception information.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

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

Move um arquivo especificado para um novo local, oferecendo a opção de especificar um novo nome de arquivo.Moves a specified file to a new location, providing the option to specify a new file name.

MoveTo(String, Boolean) MoveTo(String, Boolean) MoveTo(String, Boolean) MoveTo(String, Boolean)

Move um arquivo especificado para uma nova localização, fornecendo as opções para especificar um novo nome de arquivo e substituir o arquivo de destino, caso ele já exista.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) Open(FileMode) Open(FileMode) Open(FileMode)

Abre um arquivo no modo especificado.Opens a file in the specified mode.

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

Abre um arquivo no modo especificado com o acesso de leitura, gravação ou leitura/gravação.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)

Abre um arquivo no modo especificado com acesso de leitura, gravação ou leitura/gravação e a opção de compartilhamento especificada.Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.

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

Cria um FileStream somente leitura.Creates a read-only FileStream.

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

Cria um StreamReader com codificação UTF8 que lê de um arquivo de texto existente.Creates a StreamReader with UTF8 encoding that reads from an existing text file.

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

Cria um FileStream somente gravação.Creates a write-only FileStream.

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

Atualiza o estado do objeto.Refreshes the state of the object.

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

Substitui o conteúdo de um arquivo especificado pelo arquivo descrito pelo objeto FileInfo atual, excluindo o arquivo original e criando um backup do arquivo substituído.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)

Substitui o conteúdo de um arquivo especificado pelo arquivo descrito pelo objeto FileInfo atual, excluindo o arquivo original e criando um backup do arquivo substituído.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. Também especifica se os erros de mesclagem devem ser ignorados.Also specifies whether to ignore merge errors.

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

Aplica-se a entradas ACL (Lista de Controle de Acesso) descritas por um objeto FileSecurity para o arquivo descrito pelo objeto FileInfo atual.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.

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

Retorna o caminho como uma cadeia de caracteres.Returns the path as a string. Use a propriedade Name para obter o caminho completo.Use the Name property for the full path.

Campos

FullPath FullPath FullPath FullPath

Representa o caminho totalmente qualificado do diretório ou arquivo.Represents the fully qualified path of the directory or file.

(Inherited from FileSystemInfo)
OriginalPath OriginalPath OriginalPath OriginalPath

O caminho originalmente especificado pelo usuário, seja ele relativo ou absoluto.The path originally specified by the user, whether relative or absolute.

(Inherited from FileSystemInfo)

Métodos de Extensão

GetAccessControl(FileInfo) GetAccessControl(FileInfo) GetAccessControl(FileInfo) GetAccessControl(FileInfo)
GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections)
SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity)

Aplica-se a

Veja também