File.WriteAllText Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый файл, записывает содержимое в файл, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан.
Перегрузки
| WriteAllText(String, ReadOnlySpan<Char>) |
Создает файл, записывает указанную строку в файл, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан. |
| WriteAllText(String, String) |
Создает файл, записывает указанную строку в файл, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан. |
| WriteAllText(String, ReadOnlySpan<Char>, Encoding) |
Создает новый файл, записывает указанную строку в файл с помощью указанной кодировки, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан. |
| WriteAllText(String, String, Encoding) |
Создает новый файл, записывает указанную строку в файл с помощью указанной кодировки, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан. |
WriteAllText(String, ReadOnlySpan<Char>)
Создает файл, записывает указанную строку в файл, а затем закрывает файл.
Если целевой файл уже существует, он усечен и перезаписан.
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))
Параметры
- path
- String
Файл для записи.
- contents
- ReadOnlySpan<Char>
Символы, записываемые в файл.
Исключения
path
null.
path пуст.
Указанный путь, имя файла или оба превышают определенную системой максимальную длину.
Указанный путь недопустим (например, он находится на несопоставленном диске).
При открытии файла произошла ошибка ввода-вывода.
path указали файл, доступный только для чтения.
-или-
path указать скрытый файл.
-или-
path указан каталог.
-или-
Эта операция не поддерживается на текущей платформе.
Вызывающий объект не имеет требуемого разрешения.
path имеет недопустимый формат.
Комментарии
Этот метод использует кодировку UTF-8 без Byte-Order Mark (BOM), поэтому при использовании метода GetPreamble() возвращается пустой массив байтов. Если необходимо включить идентификатор UTF-8, например метку порядка байтов, в начале файла используйте метод WriteAllText(String, ReadOnlySpan<Char>, Encoding).
Применяется к
WriteAllText(String, String)
- Исходный код:
- File.cs
- Исходный код:
- File.cs
- Исходный код:
- File.cs
Создает файл, записывает указанную строку в файл, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан.
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)
Параметры
- path
- String
Файл для записи.
- contents
- String
Строка для записи в файл.
Исключения
Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().
path
null.
Указанный путь, имя файла или оба превышают определенную системой максимальную длину.
Указанный путь недопустим (например, он находится на несопоставленном диске).
При открытии файла произошла ошибка ввода-вывода.
path указали файл, доступный только для чтения.
-или-
path указать скрытый файл.
-или-
Эта операция не поддерживается на текущей платформе.
-или-
path указан каталог.
-или-
Вызывающий объект не имеет требуемого разрешения.
path имеет недопустимый формат.
Вызывающий объект не имеет требуемого разрешения.
Примеры
В следующем примере кода показано использование метода WriteAllText для записи текста в файл. В этом примере создается файл, если он еще не существует, и в него добавляется текст.
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
Комментарии
Этот метод использует кодировку UTF-8 без Byte-Order Mark (BOM), поэтому при использовании метода GetPreamble возвращается пустой массив байтов. Если необходимо включить идентификатор UTF-8, например метку порядка байтов, в начале файла, используйте перегрузку метода WriteAllText(String, String, Encoding) с кодировкой UTF8.
Если строка и путь к файлу, этот метод открывает указанный файл, записывает строку в файл, а затем закрывает файл.
Применяется к
WriteAllText(String, ReadOnlySpan<Char>, Encoding)
Создает новый файл, записывает указанную строку в файл с помощью указанной кодировки, а затем закрывает файл.
Если целевой файл уже существует, он усечен и перезаписан.
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)
Параметры
- path
- String
Файл для записи.
- contents
- ReadOnlySpan<Char>
Символы, записываемые в файл.
- encoding
- Encoding
Кодировка, применяемая к строке.
Исключения
path или encodingnull.
path пуст.
Указанный путь, имя файла или оба превышают определенную системой максимальную длину.
Указанный путь недопустим (например, он находится на несопоставленном диске).
При открытии файла произошла ошибка ввода-вывода.
path указали файл, доступный только для чтения.
-или-
path указать скрытый файл.
-или-
path указан каталог.
-или-
Вызывающий объект не имеет требуемого разрешения.
-или-
Эта операция не поддерживается на текущей платформе.
path имеет недопустимый формат.
Применяется к
WriteAllText(String, String, Encoding)
- Исходный код:
- File.cs
- Исходный код:
- File.cs
- Исходный код:
- File.cs
Создает новый файл, записывает указанную строку в файл с помощью указанной кодировки, а затем закрывает файл. Если целевой файл уже существует, он усечен и перезаписан.
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)
Параметры
- path
- String
Файл для записи.
- contents
- String
Строка для записи в файл.
- encoding
- Encoding
Кодировка, применяемая к строке.
Исключения
Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().
path
null.
Указанный путь, имя файла или оба превышают определенную системой максимальную длину.
Указанный путь недопустим (например, он находится на несопоставленном диске).
При открытии файла произошла ошибка ввода-вывода.
path указали файл, доступный только для чтения.
-или-
path указать скрытый файл.
-или-
Эта операция не поддерживается на текущей платформе.
-или-
path указан каталог.
-или-
Вызывающий объект не имеет требуемого разрешения.
path имеет недопустимый формат.
Вызывающий объект не имеет требуемого разрешения.
Примеры
В следующем примере кода показано использование метода WriteAllText для записи текста в файл. В этом примере создается файл, если он еще не существует, и в него добавляется текст.
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
Комментарии
Учитывая строку и путь к файлу, этот метод открывает указанный файл, записывает строку в файл с помощью указанной кодировки, а затем закрывает файл. Дескриптор файла гарантированно закрывается этим методом, даже если возникают исключения.