File.WriteAllText Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří nový soubor, zapíše obsah do souboru a pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše.
Přetížení
WriteAllText(String, ReadOnlySpan<Char>) |
Vytvoří nový soubor, zapíše zadaný řetězec do souboru a pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše. |
WriteAllText(String, String) |
Vytvoří nový soubor, zapíše zadaný řetězec do souboru a pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše. |
WriteAllText(String, ReadOnlySpan<Char>, Encoding) |
Vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše. |
WriteAllText(String, String, Encoding) |
Vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše. |
WriteAllText(String, ReadOnlySpan<Char>)
Vytvoří nový soubor, zapíše zadaný řetězec do souboru a pak soubor zavře.
Pokud cílový soubor již existuje, zkrátí se a přepíše.
public:
static void WriteAllText(System::String ^ path, ReadOnlySpan<char> contents);
public static void WriteAllText (string path, ReadOnlySpan<char> contents);
static member WriteAllText : string * ReadOnlySpan<char> -> unit
Public Shared Sub WriteAllText (path As String, contents As ReadOnlySpan(Of Char))
Parametry
- path
- String
Soubor, do který se má zapisovat.
- contents
- ReadOnlySpan<Char>
Znaky pro zápis do souboru.
Výjimky
path
je null
.
path
je prázdný.
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-
path
zadali adresář.
-nebo-
Tato operace není na aktuální platformě podporovaná.
Volající nemá požadované oprávnění.
path
je v neplatném formátu.
Poznámky
Tato metoda používá kódování UTF-8 bez Byte-Order Mark (BOM), takže použití metody GetPreamble() vrátí prázdné bajtové pole. Pokud je nutné na začátku souboru zahrnout identifikátor UTF-8, například značku pořadí bajtů, použijte metodu WriteAllText(String, ReadOnlySpan<Char>, Encoding).
Platí pro
WriteAllText(String, String)
- Zdroj:
- File.cs
- Zdroj:
- File.cs
- Zdroj:
- File.cs
Vytvoří nový soubor, zapíše zadaný řetězec do souboru a pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše.
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ý se má zapisovat.
- contents
- String
Řetězec 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.
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 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í WriteAllText 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á.
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 Byte-Order Mark (BOM), takže použití metody GetPreamble vrátí prázdné bajtové pole. 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 WriteAllText(String, String, Encoding) s kódováním UTF8.
Při zadání řetězce a cesty k souboru tato metoda otevře zadaný soubor, zapíše řetězec do souboru a pak soubor zavře.
Platí pro
WriteAllText(String, ReadOnlySpan<Char>, Encoding)
Vytvoří nový soubor, zapíše zadaný řetězec do souboru pomocí zadaného kódování a pak soubor zavře.
Pokud cílový soubor již existuje, zkrátí se a přepíše.
public:
static void WriteAllText(System::String ^ path, ReadOnlySpan<char> contents, System::Text::Encoding ^ encoding);
public static void WriteAllText (string path, ReadOnlySpan<char> contents, System.Text.Encoding encoding);
static member WriteAllText : string * ReadOnlySpan<char> * System.Text.Encoding -> unit
Public Shared Sub WriteAllText (path As String, contents As ReadOnlySpan(Of Char), encoding As Encoding)
Parametry
- path
- String
Soubor, do který se má zapisovat.
- contents
- ReadOnlySpan<Char>
Znaky pro zápis do souboru.
- encoding
- Encoding
Kódování, které se má použít na řetězec.
Výjimky
path
nebo encoding
je null
.
path
je prázdný.
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-
path
zadali adresář.
-nebo-
Volající nemá požadované oprávnění.
-nebo-
Tato operace není na aktuální platformě podporovaná.
path
je v neplatném formátu.
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 pak soubor zavře. Pokud cílový soubor již existuje, zkrátí se a přepíše.
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ý se má zapisovat.
- contents
- String
Řetězec pro zápis do souboru.
- encoding
- Encoding
Kódování, které se má použít na řetězec.
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.
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 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í WriteAllText 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á.
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 pak soubor zavře. Tento způsob zaručuje uzavření popisovače souboru, a to i v případě, že jsou vyvolány výjimky.