File Classe

Definição

Fornece métodos estáticos para a criação, cópia, exclusão, deslocamento e abertura de um arquivo, além de ajudar na criação de objetos FileStream.

public ref class File abstract sealed
public ref class File sealed
public static class File
public sealed class File
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type File = class
Public Class File
Public NotInheritable Class File
Herança
File
Atributos

Exemplos

O exemplo a seguir demonstra como usar a File classe para verificar se um arquivo existe e, dependendo do resultado, crie um novo arquivo e escreva nele ou abra o arquivo existente e leia-o. Antes de executar o código, crie uma c:\temp pasta.

using namespace System;
using namespace System::IO;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   if (  !File::Exists( path ) )
   {
      
      // Create a file to write to.
      StreamWriter^ sw = File::CreateText( path );
      try
      {
         sw->WriteLine( "Hello" );
         sw->WriteLine( "And" );
         sw->WriteLine( "Welcome" );
      }
      finally
      {
         if ( sw )
                  delete (IDisposable^)(sw);
      }
   }

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

   try
   {
      String^ path2 = String::Concat( path, "temp" );
      
      // Ensure that the target does not exist.
      File::Delete( path2 );
      
      // Copy the file.
      File::Copy( path, path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      // Delete the newly created file.
      File::Delete( path2 );
      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 = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from.
        using (StreamReader sr = File.OpenText(path))
        {
            string s;
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("Hello")
                sw.WriteLine("And")
                sw.WriteLine("Welcome")
           End Using
        End If

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

Comentários

Use a File classe para operações típicas, como copiar, mover, renomear, criar, abrir, excluir e acrescentar a um único arquivo por vez. Você também pode usar a File classe para obter e definir atributos de arquivo ou DateTime informações relacionadas à criação, acesso e gravação de um arquivo. Se você quiser executar operações em vários arquivos, consulte Directory.GetFiles ou DirectoryInfo.GetFiles.

Muitos dos File métodos retornam outros tipos de E/S quando você cria ou abre arquivos. Você pode usar esses outros tipos para manipular ainda mais um arquivo. Para obter mais informações, consulte membros específicos File , como OpenText, CreateTextou Create.

Como todos os File métodos são estáticos, talvez seja mais eficiente usar um File método em vez de um método de instância correspondente FileInfo se você quiser executar apenas uma ação. Todos os File métodos exigem o caminho para o arquivo que você está manipulando.

Os métodos estáticos da File classe executam verificações de segurança em todos os métodos. Se você vai reutilizar um objeto várias vezes, considere usar o método de instância correspondente, pois a verificação de FileInfo segurança nem sempre será necessária.

Por padrão, o acesso completo de leitura/gravação a novos arquivos é concedido a todos os usuários.

A tabela a seguir descreve as enumerações usadas para personalizar o comportamento de vários File métodos.

Enumeração Descrição
FileAccess Especifica o acesso de leitura e gravação a um arquivo.
FileShare Especifica o nível de acesso permitido para um arquivo que já está em uso.
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.

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. 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. Portanto, o caminho é malformado e uma exceção é gerada. Da mesma forma, um caminho ou uma combinação de caminhos não pode ser totalmente qualificado duas vezes. Por exemplo, "c:\temp c:\windows" também gera uma exceção na maioria dos casos. Verifique se seus caminhos estão bem formados ao usar métodos que aceitam uma cadeia de caracteres de caminho.

Em membros que aceitam um caminho, o caminho pode se referir a um arquivo ou apenas a um diretório. O caminho especificado também pode se referir a um caminho relativo ou a um caminho UNC (Convenção Universal de Nomenclatura) para um servidor e um nome de compartilhamento. Por exemplo, todos os seguintes são caminhos aceitáveis:

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

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

  • "MyDir\\\MySubdir"em C#ou "MyDir\MySubDir" em Visual Basic.

  • "\\\\\\\MyServer\\\MyShare"em C#ou "\\\MyServer\MyShare" em Visual Basic.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Métodos

AppendAllLines(String, IEnumerable<String>)

Acrescenta linhas a um arquivo e fecha o arquivo. Se o arquivo especificado não existir, esse método criará um arquivo, gravará as linhas especificadas no arquivo e fechará o arquivo.

AppendAllLines(String, IEnumerable<String>, Encoding)

Acrescenta linhas em um arquivo usando uma codificação especificada e, em seguida, fecha o arquivo. Se o arquivo especificado não existir, esse método criará um arquivo, gravará as linhas especificadas no arquivo e fechará o arquivo.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Acrescenta linhas a um arquivo de forma assíncrona e, em seguida, fecha o arquivo. Se o arquivo especificado não existir, esse método criará um arquivo, gravará as linhas especificadas no arquivo e fechará o arquivo.

AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Acrescenta linhas a um arquivo de forma assíncrona usando uma codificação especificada e, em seguida, fecha o arquivo. Se o arquivo especificado não existir, esse método criará um arquivo, gravará as linhas especificadas no arquivo e fechará o arquivo.

AppendAllText(String, String)

Abre um arquivo, acrescenta a cadeia de caracteres especificada no arquivo e fecha o arquivo. Se o arquivo não existir, esse método criará um arquivo, gravará a cadeia de caracteres especificada no arquivo e fechará o arquivo.

AppendAllText(String, String, Encoding)

Acrescenta a cadeia de caracteres especificada ao arquivo usando a codificação especificada, criando o arquivo, caso ele ainda não exista.

AppendAllTextAsync(String, String, CancellationToken)

Abre um arquivo de forma assíncrona ou cria um arquivo, caso ele ainda não exista, acrescenta a cadeia de caracteres especificada a ele e, em seguida, fecha o arquivo.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Abre um arquivo de forma assíncrona ou cria o arquivo, caso ele ainda não exista, acrescenta a cadeia de caracteres especificada a ele usando a codificação especificada e, em seguida, fecha o arquivo.

AppendText(String)

Cria um StreamWriter que acrescenta um texto codificado para UTF-8 a um arquivo existente ou a um novo arquivo, se o arquivo especificado não existe.

Copy(String, String)

Copia um arquivo existente para um novo arquivo. Não é permitida a substituição de um arquivo de mesmo nome.

Copy(String, String, Boolean)

Copia um arquivo existente para um novo arquivo. É permitido substituir um arquivo de mesmo nome.

Create(String)

Cria ou substitui um arquivo no caminho especificado.

Create(String, Int32)

Cria ou substitui um arquivo no caminho especificado usando o tamanho do buffer.

Create(String, Int32, FileOptions)

Cria ou substitui um arquivo no caminho especificado usando o tamanho do buffer e opções que descrevem como criar ou substituir o arquivo.

Create(String, Int32, FileOptions, FileSecurity)

Cria ou substitui um arquivo no caminho especificado usando o tamanho do buffer, opções que descrevem como criar ou substituir o arquivo e um valor que determina o controle de acesso e a segurança de auditoria para o arquivo.

CreateSymbolicLink(String, String)

Cria um link simbólico de arquivo identificado por path isso aponta para pathToTarget.

CreateText(String)

Cria ou abre um arquivo para gravar texto codificado em UTF-8. Se o arquivo já existir, o conteúdo dele será substituído.

Decrypt(String)

Descriptografa um arquivo que foi criptografado pela conta atual usando o método Encrypt(String).

Delete(String)

Exclui o arquivo especificado.

Encrypt(String)

Criptografa um arquivo para que somente a conta usada para criptografar o arquivo possa descriptografá-lo.

Exists(String)

Determina se o arquivo especificado existe.

GetAccessControl(String)

Obtém um objeto FileSecurity que encapsula as entradas de ACL (lista de controle de acesso) para um arquivo especificado.

GetAccessControl(String, AccessControlSections)

Obtém um objeto de FileSecurity que encapsula o tipo especificado de entradas de ACL (lista de controle de acesso) de um arquivo específico.

GetAttributes(String)

Obtém o FileAttributes do arquivo no caminho.

GetCreationTime(String)

Retorna a data e a hora de criação do arquivo ou diretório especificado.

GetCreationTimeUtc(String)

Retorna a data e a hora de criação, em UTC (tempo universal coordenado) do arquivo ou do diretório especificado.

GetLastAccessTime(String)

Retorna a data e hora em que o arquivo ou o diretório foi acessado pela última vez.

GetLastAccessTimeUtc(String)

Retorna a data e hora, em UTC (Tempo Universal Coordenado), em que o arquivo ou diretório especificado foi acessado pela última vez.

GetLastWriteTime(String)

Retorna a data e hora em que o arquivo ou diretório especificado foi usado para gravação pela última vez.

GetLastWriteTimeUtc(String)

Retorna a data e hora, em UTC( horário universal coordenado), em que o arquivo ou diretório especificado foi gravado pela última vez.

Move(String, String)

Move um arquivo especificado para um novo local, oferecendo a opção de especificar um novo nome de arquivo.

Move(String, 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.

Open(String, FileMode)

Abre um FileStream no caminho especificado com acesso de leitura/gravação sem compartilhamento.

Open(String, FileMode, FileAccess)

Abre um FileStream no caminho especificado, com o modo e o acesso especificados sem compartilhamento.

Open(String, FileMode, FileAccess, FileShare)

Abre um FileStream no caminho especificado, tendo o modo especificado com acesso de leitura, gravação ou leitura/gravação e a opção de compartilhamento especificada.

Open(String, FileStreamOptions)

Inicializa uma nova instância da FileStream classe com o caminho especificado, o modo de criação, a permissão de leitura/gravação e compartilhamento, o acesso que outros FileStreams podem ter para o mesmo arquivo, o tamanho do buffer, opções de arquivo adicionais e o tamanho da alocação.

OpenHandle(String, FileMode, FileAccess, FileShare, FileOptions, Int64)

Inicializa uma nova instância da SafeFileHandle classe com o caminho especificado, o modo de criação, a permissão de leitura/gravação e compartilhamento, o acesso que outros SafeFileHandles podem ter para o mesmo arquivo, opções de arquivo adicionais e o tamanho da alocação.

OpenRead(String)

Abre um arquivo existente para leitura.

OpenText(String)

Abre um arquivo de texto com codificação UTF-8 existente para leitura.

OpenWrite(String)

Abre um arquivo existente ou cria um novo arquivo para gravação.

ReadAllBytes(String)

Abre um arquivo binário, lê o conteúdo do arquivo em uma matriz de bytes e, em seguida, fecha o arquivo.

ReadAllBytesAsync(String, CancellationToken)

Abre um arquivo binário de forma assíncrona, lê o conteúdo dele em uma matriz de bytes e, em seguida, fecha o arquivo.

ReadAllLines(String)

Abre um arquivo de texto, lê todas as linhas dele e o fecha.

ReadAllLines(String, Encoding)

Abre um arquivo, lê todas as linhas do arquivo com a codificação especificada e fecha o arquivo.

ReadAllLinesAsync(String, CancellationToken)

Abre um arquivo de texto de forma assíncrona, lê todas as linhas dele e, em seguida, fecha o arquivo.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Abre um arquivo de texto de forma assíncrona, lê todas as linhas dele com a codificação especificada e, em seguida, fecha o arquivo.

ReadAllText(String)

Abre um arquivo de texto, lê todo o texto no arquivo e o fecha.

ReadAllText(String, Encoding)

Abre um arquivo, lê todo o texto no arquivo com a codificação especificada e fecha o arquivo.

ReadAllTextAsync(String, CancellationToken)

Abre um arquivo de texto de forma assíncrona, lê todo o texto dele e, em seguida, fecha o arquivo.

ReadAllTextAsync(String, Encoding, CancellationToken)

Abre um arquivo de texto de forma assíncrona, lê todo o texto dele com a codificação especificada e, em seguida, fecha o arquivo.

ReadLines(String)

Lê as linhas de um arquivo.

ReadLines(String, Encoding)

Leia as linhas de um arquivo que tem uma codificação especificada.

Replace(String, String, String)

Substitui o conteúdo de um arquivo especificado pelo conteúdo de outro arquivo, excluindo o arquivo original e criando um backup do arquivo substituído.

Replace(String, String, String, Boolean)

Substitui o conteúdo de um arquivo especificado pelo conteúdo de outro arquivo, excluindo o arquivo original, criando um backup do arquivo substituído e, opcionalmente, ignora erros de mesclagem.

ResolveLinkTarget(String, Boolean)

Obtém o destino do link de arquivo especificado.

SetAccessControl(String, FileSecurity)

Aplica entradas de ACL (lista de controle de acesso) descritas por um objeto FileSecurity ao arquivo especificado.

SetAttributes(String, FileAttributes)

Define o FileAttributes especificado do arquivo no caminho especificado.

SetCreationTime(String, DateTime)

Define a data e a hora em que o arquivo foi criado.

SetCreationTimeUtc(String, DateTime)

Define a data e hora, em UTC (Tempo Universal Coordenado), em que o arquivo foi criado.

SetLastAccessTime(String, DateTime)

Define a data e hora em que o arquivo especificado foi acessado pela última vez.

SetLastAccessTimeUtc(String, DateTime)

Define a data e hora, em UTC (Tempo Universal Coordenado), em que o arquivo especificado foi acessado pela última vez.

SetLastWriteTime(String, DateTime)

Define a data e hora em que o arquivo especificado foi usado para gravação pela última vez.

SetLastWriteTimeUtc(String, DateTime)

Define a data e hora, em UTC (Tempo Universal Coordenado), em que o arquivo especificado foi gravado pela última vez.

WriteAllBytes(String, Byte[])

Cria um novo arquivo, grava a matriz de bytes especificada no arquivo e fecha o arquivo. Se o arquivo de destino já existir, ele será substituído.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Cria um arquivo de forma assíncrona, grava a matriz de bytes especificada nele e, em seguida, fecha o arquivo. Se o arquivo de destino já existir, ele será substituído.

WriteAllLines(String, IEnumerable<String>)

Cria um novo arquivo, grava uma coleção de cadeias de caracteres no arquivo e fecha o arquivo.

WriteAllLines(String, IEnumerable<String>, Encoding)

Cria um novo arquivo usando a codificação especificada, grava uma coleção de cadeias de caracteres no arquivo e fecha o arquivo.

WriteAllLines(String, String[])

Cria um novo arquivo, grava a matriz de cadeia de caracteres especificada no arquivo e fecha o arquivo.

WriteAllLines(String, String[], Encoding)

Cria um novo arquivo, grava a matriz de cadeia de caracteres especificada no arquivo usando a codificação especificada e fecha o arquivo.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Cria um arquivo de forma assíncrona, grava as linhas especificadas nele e, em seguida, fecha o arquivo.

WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Cria um arquivo de forma assíncrona, grava as linhas especificadas nele usando a codificação especificada e, em seguida, fecha o arquivo.

WriteAllText(String, String)

Cria um novo arquivo, grava a cadeia de caracteres especificada no arquivo e fecha o arquivo. Se o arquivo de destino já existir, ele será substituído.

WriteAllText(String, String, Encoding)

Cria um novo arquivo, grava a cadeia de caracteres especificada no arquivo usando a codificação especificada e fecha o arquivo. Se o arquivo de destino já existir, ele será substituído.

WriteAllTextAsync(String, String, CancellationToken)

Cria um arquivo de forma assíncrona, grava a cadeia de caracteres especificada nele e, em seguida, fecha o arquivo. Se o arquivo de destino já existir, ele será substituído.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Cria um arquivo de forma assíncrona, grava a cadeia de caracteres especificada nele usando a codificação especificada e, em seguida, fecha o arquivo. Se o arquivo de destino já existir, ele será substituído.

Aplica-se a

Confira também