File.ReadAllLines Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Abre um ficheiro de texto, lê todas as linhas do ficheiro num array de strings e depois fecha o ficheiro.
Sobrecargas
| Name | Description |
|---|---|
| ReadAllLines(String) |
Abre um ficheiro de texto, lê todas as linhas do ficheiro 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)
- Origem:
- File.cs
- Origem:
- File.cs
- Origem:
- File.cs
- Origem:
- File.cs
- Origem:
- File.cs
Abre um ficheiro de texto, lê todas as linhas do ficheiro e depois fecha o ficheiro.
public:
static cli::array <System::String ^> ^ ReadAllLines(System::String ^ path);
public static string[] ReadAllLines(string path);
static member ReadAllLines : string -> string[]
Public Shared Function ReadAllLines (path As String) As String()
Parâmetros
- path
- String
O ficheiro para abrir para leitura.
Devoluções
Um array de strings contendo todas as linhas do ficheiro.
Exceções
.NET Framework e .NET Core versões anteriores à 2.1: path é uma cadeia de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Pode consultar caracteres inválidos usando o GetInvalidPathChars() método.
path é null.
O caminho especificado, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, está num disco não mapeado).
Ocorreu um erro de E/S durante a abertura do ficheiro.
Esta operação não é suportada na plataforma atual.
-ou-
path especificava um diretório.
-ou-
O interlocutor não tem a permissão necessária.
O ficheiro especificado path não foi encontrado.
path está num formato inválido.
O interlocutor não tem a permissão necessária.
Exemplos
O exemplo de código seguinte demonstra o uso do ReadAllLines método para exibir o conteúdo de um ficheiro. Neste exemplo, um ficheiro é criado, se ainda não existir, e é adicionado texto a ele.
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
// This text is added only once to the file.
if (!File.Exists(path))
{
// Create a file to write to.
string[] createText = { "Hello", "And", "Welcome" };
File.WriteAllLines(path, createText);
}
// This text is always added, making the file longer over time
// if it is not deleted.
string appendText = "This is extra text" + Environment.NewLine;
File.AppendAllText(path, appendText);
// Open the file to read from.
string[] readText = File.ReadAllLines(path);
foreach (string s in readText)
{
Console.WriteLine(s);
}
}
}
open System
open System.IO
let path = @"c:\temp\MyTest.txt"
// This text is added only once to the file.
if File.Exists path |> not then
// Create a file to write to.
let createText = [ "Hello"; "And"; "Welcome" ]
File.WriteAllLines(path, createText)
// This text is always added, making the file longer over time
// if it is not deleted.
let appendText =
"This is extra text" + Environment.NewLine
File.AppendAllText(path, appendText)
// Open the file to read from.
let readText = File.ReadAllLines path
for s in readText do
printfn $"{s}"
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Dim sw As StreamWriter
' This text is added only once to the file.
If File.Exists(path) = False Then
' Create a file to write to.
Dim createText() As String = {"Hello", "And", "Welcome"}
File.WriteAllLines(path, createText)
End If
' This text is always added, making the file longer over time
' if it is not deleted.
Dim appendText As String = "This is extra text" + Environment.NewLine
File.AppendAllText(path, appendText)
' Open the file to read from.
Dim readText() As String = File.ReadAllLines(path)
Dim s As String
For Each s In readText
Console.WriteLine(s)
Next
End Sub
End Class
Observações
Este método abre um ficheiro, lê cada linha do ficheiro e depois adiciona cada linha como elemento de um array de strings. Depois fecha o ficheiro. Uma linha é definida como uma sequência de caracteres seguida por um retorno de carro ('\r'), um retorno de linha ('\n') ou um retorno de carruagem imediatamente seguido por um retorno de linha. A cadeia resultante não contém o retorno do carro de terminação e/ou a alimentação da linha.
Se o ficheiro terminar com uma sequência de nova linha, não é adicionada nenhuma linha vazia adicional ao array. Por exemplo, um ficheiro que contém "line1\nline2\n" produz o mesmo array de dois elementos (["line1", "line2"]) que um ficheiro que contém "line1\nline2".
Este método tenta detetar automaticamente a codificação de um ficheiro com base na presença de marcas de ordem de bytes. Podem ser detetados formatos de codificação UTF-8 e UTF-32 (tanto big-endian como little-endian).
Ver também
- E/S de arquivo e fluxo
- Leitura de Texto de Um Ficheiro
- Como: Gravar texto em um arquivo
- Como: Ler e gravar em um arquivo de dados recém-criado
Aplica-se a
ReadAllLines(String, Encoding)
- Origem:
- File.cs
- Origem:
- File.cs
- Origem:
- File.cs
- Origem:
- File.cs
- Origem:
- File.cs
Abre um ficheiro, lê todas as linhas do ficheiro com a codificação especificada e depois fecha o ficheiro.
public:
static cli::array <System::String ^> ^ ReadAllLines(System::String ^ path, System::Text::Encoding ^ encoding);
public static string[] ReadAllLines(string path, System.Text.Encoding encoding);
static member ReadAllLines : string * System.Text.Encoding -> string[]
Public Shared Function ReadAllLines (path As String, encoding As Encoding) As String()
Parâmetros
- path
- String
O ficheiro para abrir para leitura.
- encoding
- Encoding
A codificação aplicava-se ao conteúdo do ficheiro.
Devoluções
Um array de strings contendo todas as linhas do ficheiro.
Exceções
.NET Framework e .NET Core versões anteriores à 2.1: path é uma cadeia de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Pode consultar caracteres inválidos usando o GetInvalidPathChars() método.
path é null.
O caminho especificado, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, está num disco não mapeado).
Ocorreu um erro de E/S durante a abertura do ficheiro.
Esta operação não é suportada na plataforma atual.
-ou-
path especificava um diretório.
-ou-
O interlocutor não tem a permissão necessária.
O ficheiro especificado path não foi encontrado.
path está num formato inválido.
O interlocutor não tem a permissão necessária.
Exemplos
O exemplo de código seguinte demonstra o uso do ReadAllLines método para exibir o conteúdo de um ficheiro. Neste exemplo, um ficheiro é criado, se ainda não existir, e é adicionado texto a ele.
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
// This text is added only once to the file.
if (!File.Exists(path))
{
// Create a file to write to.
string[] createText = { "Hello", "And", "Welcome" };
File.WriteAllLines(path, createText, Encoding.UTF8);
}
// This text is always added, making the file longer over time
// if it is not deleted.
string appendText = "This is extra text" + Environment.NewLine;
File.AppendAllText(path, appendText, Encoding.UTF8);
// Open the file to read from.
string[] readText = File.ReadAllLines(path, Encoding.UTF8);
foreach (string s in readText)
{
Console.WriteLine(s);
}
}
}
open System
open System.IO
open System.Text
let path = @"c:\temp\MyTest.txt"
// This text is added only once to the file.
if File.Exists path |> not then
// Create a file to write to.
let createText = [ "Hello"; "And"; "Welcome" ]
File.WriteAllLines(path, createText, Encoding.UTF8)
// This text is always added, making the file longer over time
// if it is not deleted.
let appendText =
"This is extra text" + Environment.NewLine
File.AppendAllText(path, appendText, Encoding.UTF8)
// Open the file to read from.
let readText = File.ReadAllLines(path, Encoding.UTF8)
for s in readText do
printfn $"{s}"
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Dim sw As StreamWriter
' This text is added only once to the file.
If File.Exists(path) = False Then
' Create a file to write to.
Dim createText() As String = {"Hello", "And", "Welcome"}
File.WriteAllLines(path, createText, Encoding.UTF8)
End If
' This text is always added, making the file longer over time
' if it is not deleted.
Dim appendText As String = "This is extra text" + Environment.NewLine
File.AppendAllText(path, appendText, Encoding.UTF8)
' Open the file to read from.
Dim readText() As String = File.ReadAllLines(path, Encoding.UTF8)
Dim s As String
For Each s In readText
Console.WriteLine(s)
Next
End Sub
End Class
Observações
Este método abre um ficheiro, lê cada linha do ficheiro e depois adiciona cada linha como um elemento de um array de strings. Depois fecha o ficheiro. Uma linha é definida como uma sequência de caracteres seguida por um retorno de carro ('\r'), um retorno de linha ('\n') ou um retorno de carruagem imediatamente seguido por um retorno de linha. A cadeia resultante não contém o retorno do carro de terminação e/ou a alimentação da linha.
Se o ficheiro terminar com uma sequência de nova linha, não é adicionada nenhuma linha vazia adicional ao array. Por exemplo, um ficheiro que contém "line1\nline2\n" produz o mesmo array de dois elementos (["line1", "line2"]) que um ficheiro que contém "line1\nline2".
Este método tenta detetar automaticamente a codificação de um ficheiro com base na presença de marcas de ordem de bytes. Podem ser detetados formatos de codificação UTF-8 e UTF-32 (tanto big-endian como little-endian).
Ver também
- E/S de arquivo e fluxo
- Leitura de Texto de Um Ficheiro
- Como: Gravar texto em um arquivo
- Como: Ler e gravar em um arquivo de dados recém-criado