Udostępnij za pośrednictwem


File.WriteAllText Metoda

Definicja

Tworzy nowy plik, zapisuje zawartość w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

Przeciążenia

WriteAllText(String, ReadOnlySpan<Char>)

Tworzy nowy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik.

Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllText(String, String)

Tworzy nowy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllText(String, ReadOnlySpan<Char>, Encoding)

Tworzy nowy plik, zapisuje określony ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik.

Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllText(String, String, Encoding)

Tworzy nowy plik, zapisuje określony ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

WriteAllText(String, ReadOnlySpan<Char>)

Tworzy nowy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik.

Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

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

Plik do zapisu.

contents
ReadOnlySpan<Char>

Znaki do zapisu w pliku.

Wyjątki

path jest null.

path jest pusta.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Wystąpił błąd we/wy podczas otwierania pliku.

path określony plik, który jest tylko do odczytu.

-lub-

path określony plik, który jest ukryty.

-lub-

path określony katalog.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

Obiekt wywołujący nie ma wymaganych uprawnień.

path jest w nieprawidłowym formacie.

Uwagi

Ta metoda używa kodowania UTF-8 bez Byte-Order Mark (BOM), więc użycie metody GetPreamble() zwróci pustą tablicę bajtów. Jeśli konieczne jest dołączenie identyfikatora UTF-8, takiego jak znacznik kolejności bajtów, na początku pliku, użyj metody WriteAllText(String, ReadOnlySpan<Char>, Encoding).

Dotyczy

WriteAllText(String, String)

Źródło:
File.cs
Źródło:
File.cs
Źródło:
File.cs

Tworzy nowy plik, zapisuje określony ciąg w pliku, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

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

Plik do zapisu.

contents
String

Ciąg do zapisania w pliku.

Wyjątki

Wersje .NET Framework i .NET Core starsze niż 2.1: path jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak. Zapytanie o nieprawidłowe znaki można wykonać przy użyciu metody GetInvalidPathChars().

path jest null.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Wystąpił błąd we/wy podczas otwierania pliku.

path określony plik, który jest tylko do odczytu.

-lub-

path określony plik, który jest ukryty.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

-lub-

path określony katalog.

-lub-

Obiekt wywołujący nie ma wymaganych uprawnień.

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie ma wymaganych uprawnień.

Przykłady

W poniższym przykładzie kodu pokazano użycie metody WriteAllText do pisania tekstu w pliku. W tym przykładzie zostanie utworzony plik, jeśli jeszcze nie istnieje, a do niego zostanie dodany tekst.

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

Uwagi

Ta metoda używa kodowania UTF-8 bez Byte-Order Mark (BOM), więc użycie metody GetPreamble zwróci pustą tablicę bajtów. Jeśli konieczne jest dołączenie identyfikatora UTF-8, takiego jak znacznik kolejności bajtów, na początku pliku, użyj przeciążenia metody WriteAllText(String, String, Encoding) z kodowaniem UTF8.

Biorąc pod uwagę ciąg i ścieżkę pliku, ta metoda otwiera określony plik, zapisuje ciąg w pliku, a następnie zamyka plik.

Dotyczy

WriteAllText(String, ReadOnlySpan<Char>, Encoding)

Tworzy nowy plik, zapisuje określony ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik.

Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

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

Plik do zapisu.

contents
ReadOnlySpan<Char>

Znaki do zapisu w pliku.

encoding
Encoding

Kodowanie, które ma być stosowane do ciągu.

Wyjątki

path lub encoding jest null.

path jest pusta.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Wystąpił błąd we/wy podczas otwierania pliku.

path określony plik, który jest tylko do odczytu.

-lub-

path określony plik, który jest ukryty.

-lub-

path określony katalog.

-lub-

Obiekt wywołujący nie ma wymaganych uprawnień.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

path jest w nieprawidłowym formacie.

Dotyczy

WriteAllText(String, String, Encoding)

Źródło:
File.cs
Źródło:
File.cs
Źródło:
File.cs

Tworzy nowy plik, zapisuje określony ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik. Jeśli plik docelowy już istnieje, zostanie obcięty i zastąpiony.

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

Plik do zapisu.

contents
String

Ciąg do zapisania w pliku.

encoding
Encoding

Kodowanie, które ma być stosowane do ciągu.

Wyjątki

Wersje .NET Framework i .NET Core starsze niż 2.1: path jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak. Zapytanie o nieprawidłowe znaki można wykonać przy użyciu metody GetInvalidPathChars().

path jest null.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Wystąpił błąd we/wy podczas otwierania pliku.

path określony plik, który jest tylko do odczytu.

-lub-

path określony plik, który jest ukryty.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

-lub-

path określony katalog.

-lub-

Obiekt wywołujący nie ma wymaganych uprawnień.

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie ma wymaganych uprawnień.

Przykłady

W poniższym przykładzie kodu pokazano użycie metody WriteAllText do pisania tekstu w pliku. W tym przykładzie zostanie utworzony plik, jeśli jeszcze nie istnieje, a do niego zostanie dodany tekst.

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

Uwagi

Biorąc pod uwagę ciąg i ścieżkę pliku, ta metoda otwiera określony plik, zapisuje ciąg w pliku przy użyciu określonego kodowania, a następnie zamyka plik. Uchwyt pliku ma gwarancję zamknięcia przez tę metodę, nawet jeśli zgłaszane są wyjątki.

Dotyczy