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>

ファイルに書き込む文字。

例外

pathnullです。

path が空です。

指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。

指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

ファイルを開くときに I/O エラーが発生しました。

path 読み取り専用のファイルを指定しました。

-又は-

path 非表示のファイルを指定しました。

-又は-

path ディレクトリを指定しました。

-又は-

この操作は、現在のプラットフォームではサポートされていません。

呼び出し元に必要なアクセス許可がありません。

path が無効な形式です。

注釈

このメソッドは、Byte-Order Mark (BOM) なしで UTF-8 エンコードを使用するため、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 は長さ 0 の文字列で、空白のみを含むか、1 つ以上の無効な文字を含みます。 GetInvalidPathChars() メソッドを使用して、無効な文字を照会できます。

pathnullです。

指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。

指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

ファイルを開くときに I/O エラーが発生しました。

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

注釈

このメソッドは、Byte-Order Mark (BOM) なしで UTF-8 エンコードを使用するため、GetPreamble メソッドを使用すると空のバイト配列が返されます。 バイト オーダー マークなどの UTF-8 識別子をファイルの先頭に含める必要がある場合は、UTF8 エンコードで WriteAllText(String, String, Encoding) メソッドオーバーロードを使用します。

文字列とファイル パスを指定すると、このメソッドは指定されたファイルを開き、その文字列をファイルに書き込んでから、ファイルを閉じます。

適用対象

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 が空です。

指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。

指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

ファイルを開くときに I/O エラーが発生しました。

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 は長さ 0 の文字列で、空白のみを含むか、1 つ以上の無効な文字を含みます。 GetInvalidPathChars() メソッドを使用して、無効な文字を照会できます。

pathnullです。

指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。

指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

ファイルを開くときに I/O エラーが発生しました。

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

注釈

文字列とファイル パスを指定すると、このメソッドは指定したファイルを開き、指定したエンコードを使用してファイルに文字列を書き込み、ファイルを閉じます。 例外が発生した場合でも、ファイル ハンドルは、このメソッドによって閉じられる保証されます。

適用対象