File.WriteAllLines Metoda

Definice

Vytvoří nový soubor, zapíše do souboru jeden nebo více řetězců a pak soubor zavře.

Přetížení

WriteAllLines(String, String[], Encoding)

Vytvoří nový soubor, zapíše zadané pole řetězců do souboru pomocí zadaného kódování a pak soubor zavře.

WriteAllLines(String, IEnumerable<String>, Encoding)

Vytvoří nový soubor pomocí zadaného kódování, zapíše do souboru kolekci řetězců a pak soubor zavře.

WriteAllLines(String, IEnumerable<String>)

Vytvoří nový soubor, zapíše do souboru kolekci řetězců a pak soubor zavře.

WriteAllLines(String, String[])

Vytvoří nový soubor, zapíše do souboru zadané pole řetězců a pak soubor zavře.

WriteAllLines(String, String[], Encoding)

Zdroj:
File.cs
Zdroj:
File.cs
Zdroj:
File.cs

Vytvoří nový soubor, zapíše zadané pole řetězců do souboru pomocí zadaného kódování a pak soubor zavře.

C#
public static void WriteAllLines (string path, string[] contents, System.Text.Encoding encoding);

Parametry

path
String

Soubor, do který se má zapisovat.

contents
String[]

Řetězcové pole pro zápis do souboru.

encoding
Encoding

Objekt Encoding, který představuje kódování znaků použité u pole řetězců.

Výjimky

Verze .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody GetInvalidPathChars() můžete zadat dotaz na neplatné znaky.

Je nullpath nebo contents .

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

Při otevírání souboru došlo k vstupně-výstupní chybě.

path zadali soubor, který je jen pro čtení.

-nebo-

path zadali skrytý soubor.

-nebo-

Tato operace není na aktuální platformě podporovaná.

-nebo-

path zadali adresář.

-nebo-

Volající nemá požadované oprávnění.

path je v neplatném formátu.

Volající nemá požadované oprávnění.

Příklady

Následující příklad kódu ukazuje použití WriteAllLines metoda k zápisu textu do souboru. V tomto příkladu se vytvoří soubor, pokud ještě neexistuje, a text se do něj přidá.

C#
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);
        }
    }
}

Poznámky

Pokud cílový soubor již existuje, zkrátí se a přepíše.

Při zadání pole řetězců a cesty k souboru tato metoda otevře zadaný soubor, zapíše řetězcové pole do souboru pomocí zadaného kódování a pak soubor zavře.

Platí pro

.NET 9 a další verze
Produkt Verze
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

WriteAllLines(String, IEnumerable<String>, Encoding)

Zdroj:
File.cs
Zdroj:
File.cs
Zdroj:
File.cs

Vytvoří nový soubor pomocí zadaného kódování, zapíše do souboru kolekci řetězců a pak soubor zavře.

C#
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding);

Parametry

path
String

Soubor, do který se má zapisovat.

contents
IEnumerable<String>

Řádky pro zápis do souboru.

encoding
Encoding

Kódování znaků, které se má použít.

Výjimky

Verze rozhraní .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars().

path, contentsnebo encoding je null.

path je neplatný (například je na nemapované jednotce).

Při otevírání souboru došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou systémem.

path je v neplatném formátu.

Volající nemá požadované oprávnění.

path zadali soubor, který je jen pro čtení.

-nebo-

path zadali skrytý soubor.

-nebo-

Tato operace není na aktuální platformě podporovaná.

-nebo-

path je adresář.

-nebo-

Volající nemá požadované oprávnění.

Poznámky

Pokud cílový soubor již existuje, zkrátí se a přepíše.

Tuto metodu můžete použít k vytvoření souboru, který obsahuje následující:

Platí pro

.NET 9 a další verze
Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WriteAllLines(String, IEnumerable<String>)

Zdroj:
File.cs
Zdroj:
File.cs
Zdroj:
File.cs

Vytvoří nový soubor, zapíše do souboru kolekci řetězců a pak soubor zavře.

C#
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents);

Parametry

path
String

Soubor, do který se má zapisovat.

contents
IEnumerable<String>

Řádky pro zápis do souboru.

Výjimky

Verze rozhraní .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných metodou GetInvalidPathChars().

Je nullpath nebo contents .

path je neplatný (například je na nemapované jednotce).

Při otevírání souboru došlo k vstupně-výstupní chybě.

path překračuje maximální délku definovanou systémem.

path je v neplatném formátu.

Volající nemá požadované oprávnění.

path zadali soubor, který je jen pro čtení.

-nebo-

path zadali skrytý soubor.

-nebo-

Tato operace není na aktuální platformě podporovaná.

-nebo-

path je adresář.

-nebo-

Volající nemá požadované oprávnění.

Příklady

Následující příklad zapíše vybrané řádky z ukázkového datového souboru do souboru.

C#
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());
            }
        }
    }
}

Poznámky

Výchozí chování metody WriteAllLines(String, IEnumerable<String>) je zapsat data pomocí kódování UTF-8 bez značky pořadí bajtů (BOM). Pokud je nutné na začátku souboru zahrnout identifikátor UTF-8, například značku pořadí bajtů, použijte přetížení metody WriteAllLines(String, IEnumerable<String>, Encoding) s kódováním UTF8.

Pokud cílový soubor již existuje, zkrátí se a přepíše.

Tuto metodu můžete použít k vytvoření obsahu pro třídu kolekce, která přebírá IEnumerable<T> v jeho konstruktoru, například List<T>, HashSet<T>nebo SortedSet<T> třídy.

Platí pro

.NET 9 a další verze
Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WriteAllLines(String, String[])

Zdroj:
File.cs
Zdroj:
File.cs
Zdroj:
File.cs

Vytvoří nový soubor, zapíše do souboru zadané pole řetězců a pak soubor zavře.

C#
public static void WriteAllLines (string path, string[] contents);

Parametry

path
String

Soubor, do který se má zapisovat.

contents
String[]

Řetězcové pole pro zápis do souboru.

Výjimky

Verze .NET Framework a .NET Core starší než 2.1: path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody GetInvalidPathChars() můžete zadat dotaz na neplatné znaky.

Je nullpath nebo contents .

Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

Při otevírání souboru došlo k vstupně-výstupní chybě.

path zadali soubor, který je jen pro čtení.

-nebo-

path zadali skrytý soubor.

-nebo-

Tato operace není na aktuální platformě podporovaná.

-nebo-

path zadali adresář.

-nebo-

Volající nemá požadované oprávnění.

path je v neplatném formátu.

Volající nemá požadované oprávnění.

Příklady

Následující příklad kódu ukazuje použití WriteAllLines metoda k zápisu textu do souboru. V tomto příkladu se vytvoří soubor, pokud ještě neexistuje, a text se do něj přidá.

C#
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);
        }
    }
}

Poznámky

Pokud cílový soubor již existuje, zkrátí se a přepíše.

Výchozí chování metody WriteAllLines je zapsat data pomocí kódování UTF-8 bez znaku pořadí bajtů (BOM). Pokud je nutné na začátku souboru zahrnout identifikátor UTF-8, například značku pořadí bajtů, použijte přetížení metody WriteAllLines(String, String[], Encoding) s kódováním UTF8.

Při zadání pole řetězců a cesty k souboru tato metoda otevře zadaný soubor, zapíše do souboru pole řetězců a pak soubor zavře.

Platí pro

.NET 9 a další verze
Produkt Verze
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1