File.WriteAllText 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
새 파일을 만들고 파일에 내용을 쓴 다음 파일을 닫습니다. 대상 파일이 이미 있는 경우 잘리고 덮어씁니다.
오버로드
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
비어 있습니다.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다.
지정한 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있는 경우).
파일을 여는 동안 I/O 오류가 발생했습니다.
path
읽기 전용인 파일을 지정했습니다.
-또는-
path
숨겨진 파일을 지정했습니다.
-또는-
path
디렉터리를 지정했습니다.
-또는-
이 작업은 현재 플랫폼에서 지원되지 않습니다.
호출자에게 필요한 권한이 없습니다.
path
잘못된 형식입니다.
설명
이 메서드는 BOM(Byte-Order Mark) 없이 UTF-8 인코딩을 사용하므로 GetPreamble() 메서드를 사용하면 빈 바이트 배열이 반환됩니다. 파일의 시작 부분에 바이트 순서 표시와 같은 UTF-8 식별자를 포함해야 하는 경우 WriteAllText(String, ReadOnlySpan<Char>, Encoding) 메서드를 사용합니다.
적용 대상
WriteAllText(String, String)
- Source:
- File.cs
- Source:
- File.cs
- Source:
- 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인 문자열이거나, 공백만 포함하거나, 하나 이상의 잘못된 문자를 포함합니다.
GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.
path
null
.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다.
지정한 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있는 경우).
파일을 여는 동안 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
설명
이 메서드는 BOM(Byte-Order Mark) 없이 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
또는 encoding
null
.
path
비어 있습니다.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다.
지정한 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있는 경우).
파일을 여는 동안 I/O 오류가 발생했습니다.
path
읽기 전용인 파일을 지정했습니다.
-또는-
path
숨겨진 파일을 지정했습니다.
-또는-
path
디렉터리를 지정했습니다.
-또는-
호출자에게 필요한 권한이 없습니다.
-또는-
이 작업은 현재 플랫폼에서 지원되지 않습니다.
path
잘못된 형식입니다.
적용 대상
WriteAllText(String, String, Encoding)
- Source:
- File.cs
- Source:
- File.cs
- Source:
- 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인 문자열이거나, 공백만 포함하거나, 하나 이상의 잘못된 문자를 포함합니다.
GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.
path
null
.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다.
지정한 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있는 경우).
파일을 여는 동안 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
설명
문자열과 파일 경로가 지정된 경우 이 메서드는 지정된 파일을 열고 지정된 인코딩을 사용하여 파일에 문자열을 쓴 다음 파일을 닫습니다. 예외가 발생하더라도 이 메서드에서 파일 핸들을 닫을 수 있습니다.
적용 대상
.NET