File.WriteAllText Metoda

Definice

Vytvoří nový soubor, zapíše obsah do souboru a poté soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

Přetížení

WriteAllText(String, String)

Vytvoří nový soubor, zapíše zadaný řetězec do souboru a poté soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllText(String, String, Encoding)

Vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a poté soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

WriteAllText(String, String)

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

Vytvoří nový soubor, zapíše zadaný řetězec do souboru a poté soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

public:
 static void WriteAllText(System::String ^ path, System::String ^ contents);
public static void WriteAllText (string path, string contents);
public static void WriteAllText (string path, string? contents);
static member WriteAllText : string * string -> unit
Public Shared Sub WriteAllText (path As String, contents As String)

Parametry

path
String

Soubor, do který chcete zapisovat.

contents
String

Řetězec, který se zapíše do souboru.

Výjimky

.NET Framework a .NET Core verze 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ů. Na neplatné znaky se můžete dotazovat pomocí metody .GetInvalidPathChars()

path je null.

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 nenamapované jednotce).

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

path zadal(a) soubor, který je jen pro čtení.

-nebo-

path zadal(a) soubor, který je skrytý.

-nebo-

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

-nebo-

path zadal(a) 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í metody k zápisu WriteAllText textu do souboru. V tomto příkladu se vytvoří soubor, pokud ještě neexistuje, a přidá se do něj text.

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" + Environment.NewLine;
            File.WriteAllText(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.ReadAllText(path);
        Console.WriteLine(readText);
    }
}
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" + Environment.NewLine

    File.WriteAllText(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.ReadAllText path
printfn $"{readText}"
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' 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" + Environment.NewLine
            File.WriteAllText(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.ReadAllText(path)
        Console.WriteLine(readText)
    End Sub
End Class

Poznámky

Tato metoda používá kódování UTF-8 bez značky Byte-Order (BOM), takže použití GetPreamble metody vrátí prázdné bajtové pole. Pokud je nutné na začátek souboru zahrnout identifikátor UTF-8, například značku pořadí bajtů, použijte WriteAllText(String, String, Encoding) přetížení metody s kódováním UTF8 .

Vzhledem k řetězci a cestě k souboru tato metoda otevře zadaný soubor, zapíše řetězec do souboru a poté soubor zavře.

Platí pro

WriteAllText(String, String, Encoding)

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

Vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a poté soubor zavře. Pokud cílový soubor již existuje, je zkrácen a přepsán.

public:
 static void WriteAllText(System::String ^ path, System::String ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllText (string path, string contents, System.Text.Encoding encoding);
public static void WriteAllText (string path, string? contents, System.Text.Encoding encoding);
static member WriteAllText : string * string * System.Text.Encoding -> unit
Public Shared Sub WriteAllText (path As String, contents As String, encoding As Encoding)

Parametry

path
String

Soubor, do který chcete zapisovat.

contents
String

Řetězec, který se zapíše do souboru.

encoding
Encoding

Kódování, které se má použít na řetězec.

Výjimky

.NET Framework a .NET Core verze 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ů. Na neplatné znaky se můžete dotazovat pomocí metody .GetInvalidPathChars()

path je null.

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 nenamapované jednotce).

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

path zadal(a) soubor, který je jen pro čtení.

-nebo-

path zadal(a) soubor, který je skrytý.

-nebo-

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

-nebo-

path zadal(a) 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í metody k zápisu WriteAllText textu do souboru. V tomto příkladu se vytvoří soubor, pokud ještě neexistuje, a přidá se do něj text.

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" + Environment.NewLine;
            File.WriteAllText(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.ReadAllText(path);
        Console.WriteLine(readText);
    }
}
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" + Environment.NewLine

    File.WriteAllText(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.ReadAllText path
printfn $"{readText}"
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" + Environment.NewLine
            File.WriteAllText(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.ReadAllText(path)
        Console.WriteLine(readText)
    End Sub
End Class

Poznámky

Vzhledem k řetězci a cestě k souboru tato metoda otevře zadaný soubor, zapíše řetězec do souboru pomocí zadaného kódování a poté soubor zavře. Popisovač souboru je zaručeno uzavření touto metodou, i když jsou vyvolány výjimky.

Platí pro