Condividi tramite


File.WriteAllText Metodo

Definizione

Crea un nuovo file, scrive il contenuto nel file e quindi chiude il file. Se il file di destinazione esiste già, viene troncato e sovrascritto.

Overload

WriteAllText(String, ReadOnlySpan<Char>)

Crea un nuovo file, scrive la stringa specificata nel file e quindi chiude il file.

Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllText(String, String)

Crea un nuovo file, scrive la stringa specificata nel file e quindi chiude il file. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllText(String, ReadOnlySpan<Char>, Encoding)

Crea un nuovo file, scrive la stringa specificata nel file usando la codifica specificata e quindi chiude il file.

Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllText(String, String, Encoding)

Crea un nuovo file, scrive la stringa specificata nel file usando la codifica specificata e quindi chiude il file. Se il file di destinazione esiste già, viene troncato e sovrascritto.

WriteAllText(String, ReadOnlySpan<Char>)

Crea un nuovo file, scrive la stringa specificata nel file e quindi chiude il file.

Se il file di destinazione esiste già, viene troncato e sovrascritto.

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))

Parametri

path
String

File in cui scrivere.

contents
ReadOnlySpan<Char>

Caratteri da scrivere nel file.

Eccezioni

path è null.

path è vuoto.

Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).

Si è verificato un errore di I/O durante l'apertura del file.

path specificato un file di sola lettura.

-o-

path specificato un file nascosto.

-o-

path specificato una directory.

-o-

Questa operazione non è supportata nella piattaforma corrente.

Il chiamante non dispone dell'autorizzazione richiesta.

path è in un formato non valido.

Commenti

Questo metodo usa la codifica UTF-8 senza una Byte-Order Mark (BOM), quindi l'uso del metodo GetPreamble() restituirà una matrice di byte vuota. Se è necessario includere un identificatore UTF-8, ad esempio un contrassegno di ordine dei byte, all'inizio di un file, usare il metodo WriteAllText(String, ReadOnlySpan<Char>, Encoding).

Si applica a

WriteAllText(String, String)

Origine:
File.cs
Origine:
File.cs
Origine:
File.cs

Crea un nuovo file, scrive la stringa specificata nel file e quindi chiude il file. Se il file di destinazione esiste già, viene troncato e sovrascritto.

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)

Parametri

path
String

File in cui scrivere.

contents
String

Stringa da scrivere nel file.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars().

path è null.

Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).

Si è verificato un errore di I/O durante l'apertura del file.

path specificato un file di sola lettura.

-o-

path specificato un file nascosto.

-o-

Questa operazione non è supportata nella piattaforma corrente.

-o-

path specificato una directory.

-o-

Il chiamante non dispone dell'autorizzazione richiesta.

path è in un formato non valido.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del metodo WriteAllText per scrivere testo in un file. In questo esempio viene creato un file, se non esiste già e viene aggiunto testo.

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

Commenti

Questo metodo usa la codifica UTF-8 senza una Byte-Order Mark (BOM), quindi l'uso del metodo GetPreamble restituirà una matrice di byte vuota. Se è necessario includere un identificatore UTF-8, ad esempio un contrassegno di ordine dei byte, all'inizio di un file, usare l'overload del metodo WriteAllText(String, String, Encoding) con codifica UTF8.

Dato una stringa e un percorso di file, questo metodo apre il file specificato, scrive la stringa nel file e quindi chiude il file.

Si applica a

WriteAllText(String, ReadOnlySpan<Char>, Encoding)

Crea un nuovo file, scrive la stringa specificata nel file usando la codifica specificata e quindi chiude il file.

Se il file di destinazione esiste già, viene troncato e sovrascritto.

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)

Parametri

path
String

File in cui scrivere.

contents
ReadOnlySpan<Char>

Caratteri da scrivere nel file.

encoding
Encoding

Codifica da applicare alla stringa.

Eccezioni

path o encoding è null.

path è vuoto.

Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).

Si è verificato un errore di I/O durante l'apertura del file.

path specificato un file di sola lettura.

-o-

path specificato un file nascosto.

-o-

path specificato una directory.

-o-

Il chiamante non dispone dell'autorizzazione richiesta.

-o-

Questa operazione non è supportata nella piattaforma corrente.

path è in un formato non valido.

Si applica a

WriteAllText(String, String, Encoding)

Origine:
File.cs
Origine:
File.cs
Origine:
File.cs

Crea un nuovo file, scrive la stringa specificata nel file usando la codifica specificata e quindi chiude il file. Se il file di destinazione esiste già, viene troncato e sovrascritto.

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)

Parametri

path
String

File in cui scrivere.

contents
String

Stringa da scrivere nel file.

encoding
Encoding

Codifica da applicare alla stringa.

Eccezioni

.NET Framework e versioni di .NET Core precedenti alla 2.1: path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars().

path è null.

Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato non è valido( ad esempio, si trova in un'unità non mappata).

Si è verificato un errore di I/O durante l'apertura del file.

path specificato un file di sola lettura.

-o-

path specificato un file nascosto.

-o-

Questa operazione non è supportata nella piattaforma corrente.

-o-

path specificato una directory.

-o-

Il chiamante non dispone dell'autorizzazione richiesta.

path è in un formato non valido.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del metodo WriteAllText per scrivere testo in un file. In questo esempio viene creato un file, se non esiste già e viene aggiunto testo.

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

Commenti

Data una stringa e un percorso di file, questo metodo apre il file specificato, scrive la stringa nel file usando la codifica specificata e quindi chiude il file. L'handle di file è garantito che venga chiuso da questo metodo, anche se vengono generate eccezioni.

Si applica a