File.WriteAllText Método

Definición

Crea un nuevo archivo, escribe el contenido en el archivo y, a continuación, cierra el archivo. Si el archivo de destino ya existe, se trunca y se sobrescribe.

Sobrecargas

Nombre Description
WriteAllText(String, String)

Crea un nuevo archivo, escribe la cadena especificada en el archivo y, a continuación, cierra el archivo. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllText(String, String, Encoding)

Crea un nuevo archivo, escribe la cadena especificada en el archivo mediante la codificación especificada y, a continuación, cierra el archivo. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllText(String, String)

Crea un nuevo archivo, escribe la cadena especificada en el archivo y, a continuación, cierra el archivo. Si el archivo de destino ya existe, se trunca y se sobrescribe.

public:
 static void WriteAllText(System::String ^ path, System::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)

Parámetros

path
String

Archivo en el que se va a escribir.

contents
String

Cadena que se va a escribir en el archivo.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

Error de E/S al abrir el archivo.

path especificó un archivo que es de solo lectura.

O bien

path especificó un archivo que está oculto.

O bien

Esta operación no se admite en la plataforma actual.

O bien

path especificó un directorio.

O bien

El autor de la llamada no tiene el permiso necesario.

path tiene un formato no válido.

El autor de la llamada no tiene el permiso necesario.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del WriteAllText método para escribir texto en un archivo. En este ejemplo se crea un archivo, si aún no existe y se agrega texto a él.

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

Comentarios

Este método usa codificación UTF-8 sin un Byte-Order Mark (BOM), por lo que el uso del GetPreamble método devolverá una matriz de bytes vacía. Si es necesario incluir un identificador UTF-8, como una marca de orden de bytes, al principio de un archivo, use la sobrecarga del WriteAllText(String, String, Encoding) método con UTF8 codificación.

Dado una cadena y una ruta de acceso de archivo, este método abre el archivo especificado, escribe la cadena en el archivo y, a continuación, cierra el archivo.

Se aplica a

WriteAllText(String, String, Encoding)

Crea un nuevo archivo, escribe la cadena especificada en el archivo mediante la codificación especificada y, a continuación, cierra el archivo. Si el archivo de destino ya existe, se trunca y se sobrescribe.

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);
static member WriteAllText : string * string * System.Text.Encoding -> unit
Public Shared Sub WriteAllText (path As String, contents As String, encoding As Encoding)

Parámetros

path
String

Archivo en el que se va a escribir.

contents
String

Cadena que se va a escribir en el archivo.

encoding
Encoding

Codificación que se va a aplicar a la cadena.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a la 2.1: path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().

path es null.

La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

Error de E/S al abrir el archivo.

path especificó un archivo que es de solo lectura.

O bien

path especificó un archivo que está oculto.

O bien

Esta operación no se admite en la plataforma actual.

O bien

path especificó un directorio.

O bien

El autor de la llamada no tiene el permiso necesario.

path tiene un formato no válido.

El autor de la llamada no tiene el permiso necesario.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del WriteAllText método para escribir texto en un archivo. En este ejemplo se crea un archivo, si aún no existe y se agrega texto a él.

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

Comentarios

Dado una cadena y una ruta de acceso de archivo, este método abre el archivo especificado, escribe la cadena en el archivo mediante la codificación especificada y, a continuación, cierra el archivo. Este método garantiza que el identificador de archivo se cierre, aunque se produzcan excepciones.

Se aplica a