File.WriteAllLines File.WriteAllLines File.WriteAllLines File.WriteAllLines Method

Definição

Cria um novo arquivo, grava uma ou mais cadeias de caracteres nele e o fecha.Creates a new file, writes one or more strings to the file, and then closes the file.

Sobrecargas

WriteAllLines(String, String[], Encoding) WriteAllLines(String, String[], Encoding) 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.Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file.

WriteAllLines(String, IEnumerable<String>, Encoding) WriteAllLines(String, IEnumerable<String>, Encoding) 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.Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.

WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[])

Cria um novo arquivo, grava a matriz de cadeia de caracteres especificada no arquivo e fecha o arquivo.Creates a new file, write the specified string array to the file, and then closes the file.

WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>)

Cria um novo arquivo, grava uma coleção de cadeias de caracteres no arquivo e fecha o arquivo.Creates a new file, writes a collection of strings to the file, and then closes the file.

WriteAllLines(String, String[], Encoding) WriteAllLines(String, String[], Encoding) 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.Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, cli::array <System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllLines (string path, string[] contents, System.Text.Encoding encoding);
static member WriteAllLines : string * string[] * System.Text.Encoding -> unit

Parâmetros

path
String String String String

O arquivo para gravação.The file to write to.

contents
String[]

A matriz de cadeia de caracteres a ser gravada no arquivo.The string array to write to the file.

encoding
Encoding Encoding Encoding Encoding

Um objeto Encoding que representa a codificação de caracteres aplicada à matriz de cadeia de caracteres.An Encoding object that represents the character encoding applied to the string array.

Exceções

path é uma cadeia de comprimento zero, contém somente espaços em branco ou um ou mais caracteres inválidos, conforme definido por InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

O path ou contents é null.Either path or contents is null.

O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.The specified path, file name, or both exceed the system-defined maximum length.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).The specified path is invalid (for example, it is on an unmapped drive).

Um erro de E/S ocorreu ao abrir o arquivo.An I/O error occurred while opening the file.

path especificou um arquivo somente leitura.path specified a file that is read-only.

- ou --or- path especificou um arquivo que está oculto.path specified a file that is hidden.

- ou --or- Não há suporte para essa operação na plataforma atual.This operation is not supported on the current platform.

- ou --or- path especificou um diretório.path specified a directory.

- ou --or- O chamador não tem a permissão necessária.The caller does not have the required permission.

path está em um formato inválido.path is in an invalid format.

O chamador não tem a permissão necessária.The caller does not have the required permission.

Exemplos

O exemplo de código a seguir demonstra o uso WriteAllLines do método para gravar texto em um arquivo.The following code example demonstrates the use of the WriteAllLines method to write text to a file. Neste exemplo, um arquivo é criado, se ele ainda não existir, e o texto é adicionado a ele.In this example a file is created, if it doesn't already exist, and text is added to it.

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);
        }
    }
}
Imports System
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

Comentários

Se o arquivo de destino já existir, ele será substituído.If the target file already exists, it is overwritten.

Dada uma matriz de cadeia de caracteres e um caminho de arquivo, esse método abre o arquivo especificado, grava a matriz de cadeia de caracteres no arquivo usando a codificação especificada e, em seguida, fecha o arquivo.Given a string array and a file path, this method opens the specified file, writes the string array to the file using the specified encoding, and then closes the file.

Segurança

FileIOPermission
para acesso para gravar em um arquivo ou diretório.for access to write to a file or directory. Enumeração associada: WriteAssociated enumeration: Write

WriteAllLines(String, IEnumerable<String>, Encoding) WriteAllLines(String, IEnumerable<String>, Encoding) 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.Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding);
static member WriteAllLines : string * seq<string> * System.Text.Encoding -> unit

Parâmetros

path
String String String String

O arquivo para gravação.The file to write to.

contents
IEnumerable<String>

As linhas a serem gravadas no arquivo.The lines to write to the file.

encoding
Encoding Encoding Encoding Encoding

A codificação de caracteres a ser usada.The character encoding to use.

Exceções

path é uma cadeia de comprimento zero, contém somente espaços em branco ou contém um ou mais caracteres inválidos definidos pelo método GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one or more invalid characters defined by the GetInvalidPathChars() method.

path, contents ou encoding é null.Either path, contents, or encoding is null.

path é inválido (por exemplo, está em uma unidade não mapeada).path is invalid (for example, it is on an unmapped drive).

Um erro de E/S ocorreu ao abrir o arquivo.An I/O error occurred while opening the file.

path excede o tamanho máximo definido pelo sistema.path exceeds the system-defined maximum length.

path está em um formato inválido.path is in an invalid format.

O chamador não tem a permissão necessária.The caller does not have the required permission.

path especificou um arquivo somente leitura.path specified a file that is read-only.

- ou --or- path especificou um arquivo que está oculto.path specified a file that is hidden.

- ou --or- Não há suporte para essa operação na plataforma atual.This operation is not supported on the current platform.

- ou --or- path é um diretório.path is a directory.

- ou --or- O chamador não tem a permissão necessária.The caller does not have the required permission.

Comentários

Se o arquivo de destino já existir, ele será substituído.If the target file already exists, it is overwritten.

Você pode usar esse método para criar um arquivo que contenha o seguinte:You can use this method to create a file that contains the following:

  • Os resultados de uma consulta LINQ to Objects nas linhas de um arquivo, conforme obtido usando o ReadLines método.The results of a LINQ to Objects query on the lines of a file, as obtained by using the ReadLines method.

  • O conteúdo de uma coleção que implementa uma IEnumerable<T> das cadeias de caracteres.The contents of a collection that implements an IEnumerable<T> of strings.

WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[]) WriteAllLines(String, String[])

Cria um novo arquivo, grava a matriz de cadeia de caracteres especificada no arquivo e fecha o arquivo.Creates a new file, write the specified string array to the file, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, cli::array <System::String ^> ^ contents);
public static void WriteAllLines (string path, string[] contents);
static member WriteAllLines : string * string[] -> unit
Public Shared Sub WriteAllLines (path As String, contents As String())

Parâmetros

path
String String String String

O arquivo para gravação.The file to write to.

contents
String[]

A matriz de cadeia de caracteres a ser gravada no arquivo.The string array to write to the file.

Exceções

path é uma cadeia de comprimento zero, contém somente espaços em branco ou um ou mais caracteres inválidos, conforme definido por InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

O path ou contents é null.Either path or contents is null.

O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.The specified path, file name, or both exceed the system-defined maximum length.

O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).The specified path is invalid (for example, it is on an unmapped drive).

Um erro de E/S ocorreu ao abrir o arquivo.An I/O error occurred while opening the file.

path especificou um arquivo somente leitura.path specified a file that is read-only.

- ou --or- path especificou um arquivo que está oculto.path specified a file that is hidden.

- ou --or- Não há suporte para essa operação na plataforma atual.This operation is not supported on the current platform.

- ou --or- path especificou um diretório.path specified a directory.

- ou --or- O chamador não tem a permissão necessária.The caller does not have the required permission.

path está em um formato inválido.path is in an invalid format.

O chamador não tem a permissão necessária.The caller does not have the required permission.

Exemplos

O exemplo de código a seguir demonstra o uso WriteAllLines do método para gravar texto em um arquivo.The following code example demonstrates the use of the WriteAllLines method to write text to a file. Neste exemplo, um arquivo é criado, se ele ainda não existir, e o texto é adicionado a ele.In this example a file is created, if it doesn't already exist, and text is added to it.

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);
        }
    }
}
Imports System
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

Comentários

Se o arquivo de destino já existir, ele será substituído.If the target file already exists, it is overwritten.

O comportamento padrão do WriteAllLines método é gravar dados usando a codificação UTF-8 sem uma bom (marca de ordem de byte).The default behavior of the WriteAllLines method is to write out data using UTF-8 encoding without a byte order mark (BOM). Se for necessário incluir um identificador UTF-8, como uma marca de ordem de byte, no início de um arquivo, use a WriteAllLines(String, String[], Encoding) sobrecarga do método com UTF8 codificação.If it is necessary to include a UTF-8 identifier, such as a byte order mark, at the beginning of a file, use the WriteAllLines(String, String[], Encoding) method overload with UTF8 encoding.

Dada uma matriz de cadeia de caracteres e um caminho de arquivo, esse método abre o arquivo especificado, grava a matriz de cadeia de caracteres no arquivo e fecha o arquivo.Given a string array and a file path, this method opens the specified file, writes the string array to the file, and then closes the file.

Segurança

FileIOPermission
para acesso para gravar em um arquivo ou diretório.for access to write to a file or directory. Enumeração associada: WriteAssociated enumeration: Write

WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>) WriteAllLines(String, IEnumerable<String>)

Cria um novo arquivo, grava uma coleção de cadeias de caracteres no arquivo e fecha o arquivo.Creates a new file, writes a collection of strings to the file, and then closes the file.

public:
 static void WriteAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents);
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents);
static member WriteAllLines : string * seq<string> -> unit
Public Shared Sub WriteAllLines (path As String, contents As IEnumerable(Of String))

Parâmetros

path
String String String String

O arquivo para gravação.The file to write to.

contents
IEnumerable<String>

As linhas a serem gravadas no arquivo.The lines to write to the file.

Exceções

path é uma cadeia de comprimento zero, contém somente espaços em branco ou contém um ou mais caracteres inválidos definidos pelo método GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one or more invalid characters defined by the GetInvalidPathChars() method.

O path ou contents é null.Either path or contents is null.

path é inválido (por exemplo, está em uma unidade não mapeada).path is invalid (for example, it is on an unmapped drive).

Um erro de E/S ocorreu ao abrir o arquivo.An I/O error occurred while opening the file.

path excede o tamanho máximo definido pelo sistema.path exceeds the system-defined maximum length.

path está em um formato inválido.path is in an invalid format.

O chamador não tem a permissão necessária.The caller does not have the required permission.

path especificou um arquivo somente leitura.path specified a file that is read-only.

- ou --or- path especificou um arquivo que está oculto.path specified a file that is hidden.

- ou --or- Não há suporte para essa operação na plataforma atual.This operation is not supported on the current platform.

- ou --or- path é um diretório.path is a directory.

- ou --or- O chamador não tem a permissão necessária.The caller does not have the required permission.

Exemplos

O exemplo a seguir grava as linhas selecionadas de um arquivo de dados de exemplo em um arquivo.The following example writes selected lines from a sample data file to a file.

using System;
using System.IO;
using System.Linq;

class Program
{
	static string dataPath = @"c:\temp\timestamps.txt";

	static void Main(string[] args)
	{
		CreateSampleFile();

		var JulyWeekends = from line in File.ReadLines(dataPath)
						   where (line.StartsWith("Saturday") || 
						   line.StartsWith("Sunday")) & 
						   line.Contains("July")
						   select line;

		File.WriteAllLines(@"C:\temp\selectedDays.txt", JulyWeekends);

		var MarchMondays = from line in File.ReadLines(dataPath)
						   where line.StartsWith("Monday") && 
						   line.Contains("March")
						   select line;

		File.AppendAllLines(@"C:\temp\selectedDays.txt", MarchMondays);
	}

	static void CreateSampleFile()
	{
		DateTime TimeStamp = new DateTime(1700, 1, 1);

		using (StreamWriter sw = new StreamWriter(dataPath))
		{
			for (int i = 0; i < 500; i++)
			{
				DateTime TS1 = TimeStamp.AddYears(i);
				DateTime TS2 = TS1.AddMonths(i);
				DateTime TS3 = TS2.AddDays(i);
				sw.WriteLine(TS3.ToLongDateString());
			}
		}
	}
}
Imports System
Imports System.IO
Imports System.Linq

Class Program
    Shared dataPath As String = "c:\temp\timestamps.txt"

    Public Shared Sub Main(ByVal args As String())
        CreateSampleFile()

        Dim JulyWeekends = From line In File.ReadLines(dataPath) _
            Where (line.StartsWith("Saturday") OrElse _
            line.StartsWith("Sunday")) And line.Contains("July") _
            Select line

        File.WriteAllLines("C:\temp\selectedDays.txt", JulyWeekends)

        Dim MarchMondays = From line In File.ReadLines(dataPath) _
            Where line.StartsWith("Monday") AndAlso line.Contains("March") _
            Select line

        File.AppendAllLines("C:\temp\selectedDays.txt", MarchMondays)
    End Sub

    Private Shared Sub CreateSampleFile()
        Dim TimeStamp As New DateTime(1700, 1, 1)

        Using sw As New StreamWriter(dataPath)
            For i As Integer = 0 To 499
                Dim TS1 As DateTime = TimeStamp.AddYears(i)
                Dim TS2 As DateTime = TS1.AddMonths(i)
                Dim TS3 As DateTime = TS2.AddDays(i)

                sw.WriteLine(TS3.ToLongDateString())
            Next
        End Using
    End Sub
End Class

Comentários

O comportamento padrão do WriteAllLines(String, IEnumerable<String>) método é gravar dados usando a codificação UTF-8 sem uma bom (marca de ordem de byte).The default behavior of the WriteAllLines(String, IEnumerable<String>) method is to write out data by using UTF-8 encoding without a byte order mark (BOM). Se for necessário incluir um identificador UTF-8, como uma marca de ordem de byte, no início de um arquivo, use a WriteAllLines(String, IEnumerable<String>, Encoding) sobrecarga do método com UTF8 codificação.If it is necessary to include a UTF-8 identifier, such as a byte order mark, at the beginning of a file, use the WriteAllLines(String, IEnumerable<String>, Encoding) method overload with UTF8 encoding.

Se o arquivo de destino já existir, ele será substituído.If the target file already exists, it is overwritten.

Você pode usar esse método para criar o conteúdo para uma classe de coleção que usa IEnumerable<T> um em seu construtor, como uma List<T> SortedSet<T> classe HashSet<T>, ou.You can use this method to create the contents for a collection class that takes an IEnumerable<T> in its constructor, such as a List<T>, HashSet<T>, or a SortedSet<T> class.

Aplica-se a