File Classe

Definição

Fornece métodos estáticos para a criação, cópia, eliminação, movimentação e abertura de um único ficheiro, e auxilia na criação de FileStream objetos.

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 seguinte demonstra como usar a File classe para verificar se um ficheiro existe e, dependendo do resultado, criar um novo ficheiro e escrever nele, ou abrir o ficheiro existente e ler a partir dele. Antes de executar o código, crie uma c:\temp pasta.

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);
            }
        }
    }
}
open System.IO

let path = @"c:\temp\MyTest.txt"

if File.Exists path |> not then
    // Create a file to write to.
    use sw = File.CreateText path
    sw.WriteLine "Hello"
    sw.WriteLine "And"
    sw.WriteLine "Welcome"

// Open the file to read from.
do
    use sr = File.OpenText path
    let mutable s = sr.ReadLine()

    while isNull s |> not do
        printfn $"{s}"
        s <- sr.ReadLine()
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

Observações

Use a File classe para operações típicas como copiar, mover, renomear, criar, abrir, eliminar e anexar a um único ficheiro de cada vez. Também pode usar a File classe para obter e definir atributos de ficheiros ou DateTime informações relacionadas com a criação, acesso e escrita de um ficheiro. Se quiser realizar operações em vários ficheiros, veja Directory.GetFiles ou DirectoryInfo.GetFiles.

Muitos dos File métodos retornam outros tipos de E/S quando crias ou abres ficheiros. Pode usar estes outros tipos para manipular ainda mais um ficheiro. Para mais informações, veja membros específicos File como OpenText, CreateText, ou Create.

Como todos File os métodos são estáticos, se quiser realizar apenas uma ação, pode ser mais eficiente usar um File método do que um método de instância correspondente FileInfo . Todos os File métodos exigem o caminho para o ficheiro que estás a manipular.

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

Por defeito, é concedido acesso total de leitura/escrita a novos ficheiros a todos os utilizadores.

A tabela seguinte descreve as enumerações que são usadas para personalizar o comportamento de vários File métodos.

Enumeração Descrição
FileAccess Especifica o acesso de leitura e escrita a um ficheiro.
FileShare Especifica o nível de acesso permitido para um ficheiro que já está em uso.
FileMode Especifica se o conteúdo de um ficheiro existente é preservado ou sobrescrevido, e se pedidos para criar um ficheiro existente causam uma exceção.

Note

Em membros que aceitam um caminho como cadeia de entrada, esse caminho deve estar bem formado ou é levantada uma exceção. Por exemplo, se um caminho for totalmente qualificado mas começar com um espaço, o caminho não é cortado nos métodos da classe. Portanto, o caminho está mal formado e é levantada uma exceção. De forma semelhante, um caminho ou uma combinação de caminhos não pode ser totalmente qualificado duas vezes. Por exemplo, "c:\temp c:\windows" também levanta uma exceção na maioria dos casos. Certifique-se de que os seus caminhos estão bem formados ao usar métodos que aceitam uma cadeia de caminho.

Nos membros que aceitam um caminho, o caminho pode referir-se a um ficheiro ou apenas a um diretório. O caminho especificado pode também referir-se a um caminho relativo ou a um caminho da Convenção de Nomeação Universal (UNC) para um nome de servidor e partilha. 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 uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.

Métodos

Name Description
AppendAllBytes(String, Byte[])

Anexa o array de bytes especificado ao final do ficheiro no caminho indicado.

Se o ficheiro não existir, este método cria um novo ficheiro.

AppendAllBytes(String, ReadOnlySpan<Byte>)

Anexa o array de bytes especificado ao final do ficheiro no caminho indicado.

Se o ficheiro não existir, este método cria um novo ficheiro.

AppendAllBytesAsync(String, Byte[], CancellationToken)

Adiciona assíncronamente o array de bytes especificado ao final do ficheiro no caminho indicado.

Se o ficheiro não existir, este método cria um novo ficheiro. Se a operação for cancelada, a tarefa regressa num estado de cancelamento.

AppendAllBytesAsync(String, ReadOnlyMemory<Byte>, CancellationToken)

Adiciona assíncronamente o array de bytes especificado ao final do ficheiro no caminho indicado.

Se o ficheiro não existir, este método cria um novo ficheiro. Se a operação for cancelada, a tarefa regressa num estado de cancelamento.

AppendAllLines(String, IEnumerable<String>, Encoding)

Acrescenta linhas a um ficheiro usando uma codificação especificada e depois fecha o ficheiro. Se o ficheiro especificado não existir, este método cria um ficheiro, escreve as linhas especificadas no ficheiro e depois fecha o ficheiro.

AppendAllLines(String, IEnumerable<String>)

Acrescenta linhas a um ficheiro e depois fecha o ficheiro. Se o ficheiro especificado não existir, este método cria um ficheiro, escreve as linhas especificadas no ficheiro e depois fecha o ficheiro.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Adiciona linhas assíncronas a um ficheiro e depois fecha o ficheiro. Se o ficheiro especificado não existir, este método cria um ficheiro, escreve as linhas especificadas no ficheiro e depois fecha o ficheiro.

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

Adiciona linhas assíncronas a um ficheiro usando uma codificação especificada, e depois fecha o ficheiro. Se o ficheiro especificado não existir, este método cria um ficheiro, escreve as linhas especificadas no ficheiro e depois fecha o ficheiro.

AppendAllText(String, ReadOnlySpan<Char>, Encoding)

Adiciona a cadeia especificada ao ficheiro, criando o ficheiro caso ainda não exista.

AppendAllText(String, ReadOnlySpan<Char>)

Adiciona a cadeia especificada ao ficheiro, criando o ficheiro caso ainda não exista.

AppendAllText(String, String, Encoding)

Adiciona a string especificada ao ficheiro usando a codificação especificada, criando o ficheiro caso este ainda não exista.

AppendAllText(String, String)

Abre um ficheiro, adiciona a string especificada ao ficheiro e depois fecha o ficheiro. Se o ficheiro não existir, este método cria um ficheiro, escreve a string especificada no ficheiro e depois fecha o ficheiro.

AppendAllTextAsync(String, ReadOnlyMemory<Char>, CancellationToken)

Abre assíncronamente um ficheiro ou cria um ficheiro se este ainda não existir, adiciona a string especificada ao ficheiro e depois fecha o ficheiro.

AppendAllTextAsync(String, ReadOnlyMemory<Char>, Encoding, CancellationToken)

Abre ou cria um ficheiro de forma assíncrona se este ainda não existir, adiciona a string especificada ao ficheiro usando a codificação especificada e depois fecha o ficheiro.

AppendAllTextAsync(String, String, CancellationToken)

Abre assíncronamente um ficheiro ou cria um ficheiro se este ainda não existir, adiciona a string especificada ao ficheiro e depois fecha o ficheiro.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Abre ou cria um ficheiro de forma assíncrona se este ainda não existir, adiciona a string especificada ao ficheiro usando a codificação especificada e depois fecha o ficheiro.

AppendText(String)

Cria um StreamWriter que adiciona texto codificado em UTF-8 a um ficheiro existente, ou a um novo ficheiro se o ficheiro especificado não existir.

Copy(String, String, Boolean)

Copia um ficheiro existente para um novo ficheiro. É permitido sobrescrever um ficheiro com o mesmo nome.

Copy(String, String)

Copia um ficheiro existente para um novo ficheiro. Não é permitido sobrescrever um ficheiro com o mesmo nome.

Create(String, Int32, FileOptions, FileSecurity)

Cria ou sobrescreve um ficheiro no caminho especificado, especificando um tamanho de buffer, opções que descrevem como criar ou sobrescrever o ficheiro, e um valor que determina o controlo de acesso e a segurança de auditoria do ficheiro.

Create(String, Int32, FileOptions)

Cria ou sobrescreve um ficheiro no caminho especificado, especificando um tamanho de buffer e opções que descrevem como criar ou sobrescrever o ficheiro.

Create(String, Int32)

Cria, ou trunca e sobrescreve, um ficheiro no caminho especificado, especificando o tamanho do buffer.

Create(String)

Cria, ou trunca e sobrescreve, um ficheiro no caminho especificado.

CreateHardLink(String, String)

Fornece métodos estáticos para a criação, cópia, eliminação, movimentação e abertura de um único ficheiro, e auxilia na criação de FileStream objetos.

CreateSymbolicLink(String, String)

Cria uma ligação simbólica de ficheiro identificada por path que aponta para pathToTarget.

CreateText(String)

Cria ou abre um ficheiro para escrever texto codificado em UTF-8. Se o ficheiro já existir, o seu conteúdo é substituído.

Decrypt(String)

Descifra um ficheiro que foi encriptado pela conta corrente usando o Encrypt(String) método.

Delete(String)

Apaga o ficheiro especificado.

Encrypt(String)

Encripta um ficheiro para que apenas a conta usada para encriptar o ficheiro possa desencriptá-lo.

Exists(String)

Determina se o ficheiro especificado existe.

GetAccessControl(String, AccessControlSections)

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

GetAccessControl(String)

Obtém um FileSecurity objeto que encapsula as entradas da lista de controlo de acesso (ACL) para um ficheiro especificado.

GetAttributes(SafeFileHandle)

Obtém o especificado FileAttributes do ficheiro ou diretório associado a fileHandle.

GetAttributes(String)

Fica FileAttributes o ficheiro no caminho.

GetCreationTime(SafeFileHandle)

Devolve o tempo de criação do ficheiro ou diretório especificado.

GetCreationTime(String)

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

GetCreationTimeUtc(SafeFileHandle)

Devolve a data e hora de criação, em Tempo Universal Coordenado (UTC), do ficheiro ou diretório especificado.

GetCreationTimeUtc(String)

Devolve a data e hora de criação, em Tempo Universal Coordenado (UTC), do ficheiro ou diretório especificado.

GetLastAccessTime(SafeFileHandle)

Devolve a data e hora do último acesso do ficheiro ou diretório especificado.

GetLastAccessTime(String)

Devolve a data e hora em que o ficheiro ou diretório especificado foi acedido pela última vez.

GetLastAccessTimeUtc(SafeFileHandle)

Devolve a última data e hora de acesso, em Tempo Universal Coordenado (UTC), do ficheiro ou diretório especificado.

GetLastAccessTimeUtc(String)

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

GetLastWriteTime(SafeFileHandle)

Devolve a última data e hora de escrita do ficheiro ou diretório especificado.

GetLastWriteTime(String)

Devolve a data e hora em que o ficheiro ou diretório especificado foi escrito pela última vez.

GetLastWriteTimeUtc(SafeFileHandle)

Devolve a última data e hora de escrita, em Tempo Universal Coordenado (UTC), do ficheiro ou diretório especificado.

GetLastWriteTimeUtc(String)

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

GetUnixFileMode(SafeFileHandle)

Obtém o UnixFileMode do handle de ficheiro especificado.

GetUnixFileMode(String)

Fica UnixFileMode o ficheiro no caminho.

Move(String, String, Boolean)

Move um ficheiro especificado para uma nova localização, oferecendo as opções para especificar um novo nome de ficheiro e substituir o ficheiro de destino se este já existir.

Move(String, String)

Move um ficheiro especificado para uma nova localização, oferecendo a opção de especificar um novo nome de ficheiro.

Open(String, FileMode, FileAccess, FileShare)

Abre-se no FileStream caminho especificado, com o modo especificado com acesso de leitura, escrita ou leitura/escrita e a opção de partilha especificada.

Open(String, FileMode, FileAccess)

Abre a FileStream no caminho especificado, com o modo e acesso especificados sem partilha.

Open(String, FileMode)

Abre um FileStream no caminho especificado com acesso de leitura/escrita sem partilha.

Open(String, FileStreamOptions)

Inicializa uma nova instância da FileStream classe com o caminho especificado, modo de criação, permissão de leitura/escrita e partilha, o acesso a outros FileStreams ao mesmo ficheiro, o tamanho do buffer, opções adicionais de ficheiro e o tamanho de alocação.

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

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

OpenNullHandle()

Fornece métodos estáticos para a criação, cópia, eliminação, movimentação e abertura de um único ficheiro, e auxilia na criação de FileStream objetos.

OpenRead(String)

Abre um ficheiro existente para leitura.

OpenText(String)

Abre um ficheiro de texto codificado em UTF-8 existente para leitura.

OpenWrite(String)

Abre um ficheiro existente ou cria um novo ficheiro para escrever.

ReadAllBytes(String)

Abre um ficheiro binário, lê o conteúdo do ficheiro num array de bytes e depois fecha o ficheiro.

ReadAllBytesAsync(String, CancellationToken)

Abre assíncronamente um ficheiro binário, lê o conteúdo do ficheiro num array de bytes e depois fecha o ficheiro.

ReadAllLines(String, Encoding)

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

ReadAllLines(String)

Abre um ficheiro de texto, lê todas as linhas do ficheiro e depois fecha o ficheiro.

ReadAllLinesAsync(String, CancellationToken)

Abre de forma assíncrona um ficheiro de texto, lê todas as linhas do ficheiro e depois fecha o ficheiro.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Abre assíncronamente um ficheiro de texto, lê todas as linhas do ficheiro com a codificação especificada e depois fecha o ficheiro.

ReadAllText(String, Encoding)

Abre um ficheiro, lê todo o texto do ficheiro com a codificação especificada e depois fecha o ficheiro.

ReadAllText(String)

Abre um ficheiro de texto, lê todo o texto do ficheiro e depois fecha o ficheiro.

ReadAllTextAsync(String, CancellationToken)

Abre de forma assíncrona um ficheiro de texto, lê todo o texto do ficheiro e depois fecha o ficheiro.

ReadAllTextAsync(String, Encoding, CancellationToken)

Abre assíncronamente um ficheiro de texto, lê todo o texto do ficheiro com a codificação especificada e depois fecha o ficheiro.

ReadLines(String, Encoding)

Leia as linhas de um ficheiro que tenha uma codificação especificada.

ReadLines(String)

Lê as linhas de um ficheiro.

ReadLinesAsync(String, CancellationToken)

Lê assíncronamente as linhas de um ficheiro.

ReadLinesAsync(String, Encoding, CancellationToken)

Lê assíncronamente as linhas de um ficheiro que tem uma codificação especificada.

Replace(String, String, String, Boolean)

Substitui o conteúdo de um ficheiro especificado pelo conteúdo de outro ficheiro, eliminando o ficheiro original e criando uma cópia de segurança do ficheiro substituído, e opcionalmente ignora erros de fusão.

Replace(String, String, String)

Substitui o conteúdo de um ficheiro especificado pelo conteúdo de outro ficheiro, eliminando o ficheiro original e criando uma cópia de segurança do ficheiro substituído.

ResolveLinkTarget(String, Boolean)

Obtém o destino do link do ficheiro especificado.

SetAccessControl(String, FileSecurity)

Aplica entradas da lista de controlo de acesso (ACL) descritas por um FileSecurity objeto ao ficheiro especificado.

SetAttributes(SafeFileHandle, FileAttributes)

Define o especificado FileAttributes do ficheiro ou diretório associado a fileHandle.

SetAttributes(String, FileAttributes)

Define o especificado FileAttributes do ficheiro no caminho especificado.

SetCreationTime(SafeFileHandle, DateTime)

Define a data e hora em que o ficheiro ou diretório foi criado.

SetCreationTime(String, DateTime)

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

SetCreationTimeUtc(SafeFileHandle, DateTime)

Define a data e a hora, em Tempo Universal Coordenado (UTC), em que o ficheiro ou diretório foi criado.

SetCreationTimeUtc(String, DateTime)

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

SetLastAccessTime(SafeFileHandle, DateTime)

Define a data e hora em que o ficheiro ou diretório especificado foi acedido pela última vez.

SetLastAccessTime(String, DateTime)

Define a data e hora em que o ficheiro especificado foi acedido pela última vez.

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

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

SetLastAccessTimeUtc(String, DateTime)

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

SetLastWriteTime(SafeFileHandle, DateTime)

Define a data e hora em que o ficheiro ou diretório especificado foi escrito pela última vez.

SetLastWriteTime(String, DateTime)

Define a data e hora em que o ficheiro especificado foi escrito pela última vez.

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

Define a data e hora, em Tempo Universal Coordenado (UTC), onde o ficheiro ou diretório especificado foi escrito pela última vez.

SetLastWriteTimeUtc(String, DateTime)

Define a data e a hora, em Tempo Universal Coordenado (UTC), onde o ficheiro especificado foi escrito pela última vez.

SetUnixFileMode(SafeFileHandle, UnixFileMode)

Define o especificado UnixFileMode do handle de ficheiro especificado.

SetUnixFileMode(String, UnixFileMode)

Define o especificado UnixFileMode do ficheiro no caminho especificado.

WriteAllBytes(String, Byte[])

Cria um novo ficheiro, escreve o array de bytes especificado no ficheiro e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllBytes(String, ReadOnlySpan<Byte>)

Cria um novo ficheiro, escreve o array de bytes especificado no ficheiro e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Cria assíncronamente um novo ficheiro, escreve o array de bytes especificado no ficheiro e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllBytesAsync(String, ReadOnlyMemory<Byte>, CancellationToken)

Cria assíncronamente um novo ficheiro, escreve o array de bytes especificado no ficheiro e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllLines(String, IEnumerable<String>, Encoding)

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

WriteAllLines(String, IEnumerable<String>)

Cria um novo ficheiro, escreve uma coleção de cadeias de caracteres no ficheiro e depois fecha o ficheiro.

WriteAllLines(String, String[], Encoding)

Cria um novo ficheiro, escreve o array de strings especificado no ficheiro usando a codificação especificada e depois fecha o ficheiro.

WriteAllLines(String, String[])

Cria um novo ficheiro, escreve o array de cadeias especificado no ficheiro e depois fecha o ficheiro.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Cria assíncronamente um novo ficheiro, escreve as linhas especificadas no ficheiro e depois fecha o ficheiro.

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

Cria assíncronamente um novo ficheiro, escreve as linhas especificadas no ficheiro usando a codificação especificada e depois fecha o ficheiro.

WriteAllText(String, ReadOnlySpan<Char>, Encoding)

Cria um novo ficheiro, escreve a string especificada no ficheiro usando a codificação especificada e depois fecha o ficheiro.

Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllText(String, ReadOnlySpan<Char>)

Cria um novo ficheiro, escreve a string especificada no ficheiro e depois fecha o ficheiro.

Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllText(String, String, Encoding)

Cria um novo ficheiro, escreve a string especificada no ficheiro usando a codificação especificada e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllText(String, String)

Cria um novo ficheiro, escreve a string especificada no ficheiro e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllTextAsync(String, ReadOnlyMemory<Char>, CancellationToken)

Cria assíncronamente um novo ficheiro, escreve a string especificada no ficheiro e depois fecha o ficheiro.

Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllTextAsync(String, ReadOnlyMemory<Char>, Encoding, CancellationToken)

Cria assíncronamente um novo ficheiro, escreve a string especificada no ficheiro usando a codificação especificada e depois fecha o ficheiro.

Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllTextAsync(String, String, CancellationToken)

Cria assíncronamente um novo ficheiro, escreve a string especificada no ficheiro e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Cria assíncronamente um novo ficheiro, escreve a string especificada no ficheiro usando a codificação especificada e depois fecha o ficheiro. Se o ficheiro de destino já existir, é truncado e sobrescrevido.

Aplica-se a

Ver também