File.WriteAllLines Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat file baru, menulis satu atau beberapa string ke file, lalu menutup file.
Overload
WriteAllLines(String, String[], Encoding) |
Membuat file baru, menulis array string yang ditentukan ke file dengan menggunakan pengodean yang ditentukan, lalu menutup file. |
WriteAllLines(String, IEnumerable<String>, Encoding) |
Membuat file baru dengan menggunakan pengodean yang ditentukan, menulis kumpulan string ke file, lalu menutup file. |
WriteAllLines(String, IEnumerable<String>) |
Membuat file baru, menulis kumpulan string ke file, lalu menutup file. |
WriteAllLines(String, String[]) |
Membuat file baru, menulis array string yang ditentukan ke file, lalu menutup file. |
WriteAllLines(String, String[], Encoding)
- Sumber:
- File.cs
- Sumber:
- File.cs
- Sumber:
- File.cs
Membuat file baru, menulis array string yang ditentukan ke file dengan menggunakan pengodean yang ditentukan, lalu menutup file.
public:
static void WriteAllLines(System::String ^ path, cli::array <System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllLines (string path, string[] contents, System.Text.Encoding encoding);
static member WriteAllLines : string * string[] * System.Text.Encoding -> unit
Public Shared Sub WriteAllLines (path As String, contents As String(), encoding As Encoding)
Parameter
- path
- String
File yang akan ditulis.
- contents
- String[]
Array string untuk menulis ke file.
Pengecualian
Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda dapat mengkueri karakter yang tidak valid dengan menggunakan metode GetInvalidPathChars().
Baik path
atau contents
null
.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada drive yang tidak dipetakan).
Terjadi kesalahan I/O saat membuka file.
path
menentukan file yang bersifat baca-saja.
-atau-
path
menentukan file yang tersembunyi.
-atau-
Operasi ini tidak didukung pada platform saat ini.
-atau-
path
menentukan direktori.
-atau-
Pemanggil tidak memiliki izin yang diperlukan.
path
dalam format yang tidak valid.
Pemanggil tidak memiliki izin yang diperlukan.
Contoh
Contoh kode berikut menunjukkan penggunaan metode WriteAllLines untuk menulis teks ke file. Dalam contoh ini, file dibuat, jika belum ada, dan teks ditambahkan ke dalamnya.
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" };
File.WriteAllLines(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.ReadAllLines(path, Encoding.UTF8);
foreach (string s in readText)
{
Console.WriteLine(s);
}
}
}
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" ]
File.WriteAllLines(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.ReadAllLines(path, Encoding.UTF8)
for s in readText do
printfn $"{s}"
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"}
File.WriteAllLines(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.ReadAllLines(path, Encoding.UTF8)
Dim s As String
For Each s In readText
Console.WriteLine(s)
Next
End Sub
End Class
Keterangan
Jika file target sudah ada, file tersebut dipotong dan ditimpa.
Mengingat array string dan jalur file, metode ini membuka file yang ditentukan, menulis array string ke file menggunakan pengodean yang ditentukan, lalu menutup file.
Berlaku untuk
WriteAllLines(String, IEnumerable<String>, Encoding)
- Sumber:
- File.cs
- Sumber:
- File.cs
- Sumber:
- File.cs
Membuat file baru dengan menggunakan pengodean yang ditentukan, menulis kumpulan string ke file, lalu menutup file.
public:
static void WriteAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding);
static member WriteAllLines : string * seq<string> * System.Text.Encoding -> unit
Public Shared Sub WriteAllLines (path As String, contents As IEnumerable(Of String), encoding As Encoding)
Parameter
- path
- String
File yang akan ditulis.
- contents
- IEnumerable<String>
Baris untuk menulis ke file.
- encoding
- Encoding
Pengodean karakter yang akan digunakan.
Pengecualian
Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid yang ditentukan oleh metode GetInvalidPathChars().
Baik path
, contents
, atau encoding
null
.
path
tidak valid (misalnya, ada di drive yang tidak dipetakan).
Terjadi kesalahan I/O saat membuka file.
path
melebihi panjang maksimum yang ditentukan sistem.
path
dalam format yang tidak valid.
Pemanggil tidak memiliki izin yang diperlukan.
path
menentukan file yang bersifat baca-saja.
-atau-
path
menentukan file yang tersembunyi.
-atau-
Operasi ini tidak didukung pada platform saat ini.
-atau-
path
adalah direktori.
-atau-
Pemanggil tidak memiliki izin yang diperlukan.
Keterangan
Jika file target sudah ada, file tersebut dipotong dan ditimpa.
Anda dapat menggunakan metode ini untuk membuat file yang berisi yang berikut ini:
Hasil kueri LINQ ke Objek pada baris file, seperti yang diperoleh dengan menggunakan metode ReadLines.
Konten koleksi yang mengimplementasikan IEnumerable<T> string.
Berlaku untuk
WriteAllLines(String, IEnumerable<String>)
- Sumber:
- File.cs
- Sumber:
- File.cs
- Sumber:
- File.cs
Membuat file baru, menulis kumpulan string ke file, lalu menutup file.
public:
static void WriteAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents);
public static void WriteAllLines (string path, System.Collections.Generic.IEnumerable<string> contents);
static member WriteAllLines : string * seq<string> -> unit
Public Shared Sub WriteAllLines (path As String, contents As IEnumerable(Of String))
Parameter
- path
- String
File yang akan ditulis.
- contents
- IEnumerable<String>
Baris untuk menulis ke file.
Pengecualian
Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid yang ditentukan oleh metode GetInvalidPathChars().
Baik path
atau contents
null
.
path
tidak valid (misalnya, ada di drive yang tidak dipetakan).
Terjadi kesalahan I/O saat membuka file.
path
melebihi panjang maksimum yang ditentukan sistem.
path
dalam format yang tidak valid.
Pemanggil tidak memiliki izin yang diperlukan.
path
menentukan file yang bersifat baca-saja.
-atau-
path
menentukan file yang tersembunyi.
-atau-
Operasi ini tidak didukung pada platform saat ini.
-atau-
path
adalah direktori.
-atau-
Pemanggil tidak memiliki izin yang diperlukan.
Contoh
Contoh berikut menulis baris yang dipilih dari file data sampel ke file.
using System;
using System.IO;
using System.Linq;
class Program
{
static string dataPath = @"c:\temp\timestamps.txt";
static void Main(string[] args)
{
CreateSampleFile();
var JulyWeekends = from line in File.ReadLines(dataPath)
where (line.StartsWith("Saturday") ||
line.StartsWith("Sunday")) &
line.Contains("July")
select line;
File.WriteAllLines(@"C:\temp\selectedDays.txt", JulyWeekends);
var MarchMondays = from line in File.ReadLines(dataPath)
where line.StartsWith("Monday") &&
line.Contains("March")
select line;
File.AppendAllLines(@"C:\temp\selectedDays.txt", MarchMondays);
}
static void CreateSampleFile()
{
DateTime TimeStamp = new DateTime(1700, 1, 1);
using (StreamWriter sw = new StreamWriter(dataPath))
{
for (int i = 0; i < 500; i++)
{
DateTime TS1 = TimeStamp.AddYears(i);
DateTime TS2 = TS1.AddMonths(i);
DateTime TS3 = TS2.AddDays(i);
sw.WriteLine(TS3.ToLongDateString());
}
}
}
}
open System
open System.IO
let dataPath = @"c:\temp\timestamps.txt"
let createSampleFile () =
let timeStamp = DateTime(1700, 1, 1)
use sw = new StreamWriter(dataPath)
for i = 0 to 499 do
let ts1 = timeStamp.AddYears i
let ts2 = ts1.AddMonths i
let ts3 = ts2.AddDays i
ts3.ToLongDateString() |> sw.WriteLine
createSampleFile ()
let julyWeekends =
File.ReadLines dataPath
|> Seq.filter (fun line ->
(line.StartsWith "Saturday"
|| line.StartsWith "Sunday")
&& line.Contains "July")
File.WriteAllLines(@"C:\temp\selectedDays.txt", julyWeekends)
let marchMondays =
File.ReadLines dataPath
|> Seq.filter (fun line -> line.StartsWith "Monday" && line.Contains "March")
File.AppendAllLines(@"C:\temp\selectedDays.txt", marchMondays)
Imports System.IO
Imports System.Linq
Class Program
Shared dataPath As String = "c:\temp\timestamps.txt"
Public Shared Sub Main(ByVal args As String())
CreateSampleFile()
Dim JulyWeekends = From line In File.ReadLines(dataPath) _
Where (line.StartsWith("Saturday") OrElse _
line.StartsWith("Sunday")) And line.Contains("July") _
Select line
File.WriteAllLines("C:\temp\selectedDays.txt", JulyWeekends)
Dim MarchMondays = From line In File.ReadLines(dataPath) _
Where line.StartsWith("Monday") AndAlso line.Contains("March") _
Select line
File.AppendAllLines("C:\temp\selectedDays.txt", MarchMondays)
End Sub
Private Shared Sub CreateSampleFile()
Dim TimeStamp As New DateTime(1700, 1, 1)
Using sw As New StreamWriter(dataPath)
For i As Integer = 0 To 499
Dim TS1 As DateTime = TimeStamp.AddYears(i)
Dim TS2 As DateTime = TS1.AddMonths(i)
Dim TS3 As DateTime = TS2.AddDays(i)
sw.WriteLine(TS3.ToLongDateString())
Next
End Using
End Sub
End Class
Keterangan
Perilaku default metode WriteAllLines(String, IEnumerable<String>) adalah menulis data dengan menggunakan pengodean UTF-8 tanpa tanda urutan byte (BOM). Jika perlu menyertakan pengidentifikasi UTF-8, seperti tanda urutan byte, di awal file, gunakan metode WriteAllLines(String, IEnumerable<String>, Encoding) kelebihan beban dengan pengodean UTF8.
Jika file target sudah ada, file tersebut dipotong dan ditimpa.
Anda dapat menggunakan metode ini untuk membuat konten untuk kelas koleksi yang mengambil IEnumerable<T> di konstruktornya, seperti List<T>, HashSet<T>, atau kelas SortedSet<T>.
Berlaku untuk
WriteAllLines(String, String[])
- Sumber:
- File.cs
- Sumber:
- File.cs
- Sumber:
- File.cs
Membuat file baru, menulis array string yang ditentukan ke file, lalu menutup file.
public:
static void WriteAllLines(System::String ^ path, cli::array <System::String ^> ^ contents);
public static void WriteAllLines (string path, string[] contents);
static member WriteAllLines : string * string[] -> unit
Public Shared Sub WriteAllLines (path As String, contents As String())
Parameter
- path
- String
File yang akan ditulis.
- contents
- String[]
Array string untuk menulis ke file.
Pengecualian
Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda dapat mengkueri karakter yang tidak valid dengan menggunakan metode GetInvalidPathChars().
Baik path
atau contents
null
.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada drive yang tidak dipetakan).
Terjadi kesalahan I/O saat membuka file.
path
menentukan file yang bersifat baca-saja.
-atau-
path
menentukan file yang tersembunyi.
-atau-
Operasi ini tidak didukung pada platform saat ini.
-atau-
path
menentukan direktori.
-atau-
Pemanggil tidak memiliki izin yang diperlukan.
path
dalam format yang tidak valid.
Pemanggil tidak memiliki izin yang diperlukan.
Contoh
Contoh kode berikut menunjukkan penggunaan metode WriteAllLines untuk menulis teks ke file. Dalam contoh ini, file dibuat, jika belum ada, dan teks ditambahkan ke dalamnya.
using System;
using System.IO;
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" };
File.WriteAllLines(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.ReadAllLines(path);
foreach (string s in readText)
{
Console.WriteLine(s);
}
}
}
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" ]
File.WriteAllLines(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.ReadAllLines path
for s in readText do
printfn $"{s}"
Imports System.IO
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"}
File.WriteAllLines(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.ReadAllLines(path)
Dim s As String
For Each s In readText
Console.WriteLine(s)
Next
End Sub
End Class
Keterangan
Jika file target sudah ada, file tersebut dipotong dan ditimpa.
Perilaku default metode WriteAllLines adalah menulis data menggunakan pengodean UTF-8 tanpa tanda urutan byte (BOM). Jika perlu menyertakan pengidentifikasi UTF-8, seperti tanda urutan byte, di awal file, gunakan metode WriteAllLines(String, String[], Encoding) kelebihan beban dengan pengodean UTF8.
Mengingat array string dan jalur file, metode ini membuka file yang ditentukan, menulis array string ke file, lalu menutup file.