File.WriteAllLines Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yeni bir dosya oluşturur, dosyaya bir veya daha fazla dize yazar ve dosyayı kapatır.
Aşırı Yüklemeler
WriteAllLines(String, String[], Encoding) |
Yeni bir dosya oluşturur, belirtilen dize dizisini belirtilen kodlamayı kullanarak dosyaya yazar ve ardından dosyayı kapatır. |
WriteAllLines(String, IEnumerable<String>, Encoding) |
Belirtilen kodlamayı kullanarak yeni bir dosya oluşturur, dosyaya bir dize koleksiyonu yazar ve dosyayı kapatır. |
WriteAllLines(String, IEnumerable<String>) |
Yeni bir dosya oluşturur, dosyaya bir dize koleksiyonu yazar ve dosyayı kapatır. |
WriteAllLines(String, String[]) |
Yeni bir dosya oluşturur, belirtilen dize dizisini dosyaya yazar ve dosyayı kapatır. |
WriteAllLines(String, String[], Encoding)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Yeni bir dosya oluşturur, belirtilen dize dizisini belirtilen kodlamayı kullanarak dosyaya yazar ve ardından dosyayı kapatır.
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)
Parametreler
- path
- String
Yazacak dosya.
- contents
- String[]
Dosyaya yazacak dize dizisi.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir.
GetInvalidPathChars() yöntemini kullanarak geçersiz karakterleri sorgulayabilirsiniz.
path
veya contents
null
.
Belirtilen yol, dosya adı veya her ikisi de sistem tanımlı uzunluk üst sınırını aşıyor.
Belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosya açılırken bir G/Ç hatası oluştu.
path
salt okunur bir dosya belirtti.
-veya-
path
gizli bir dosya belirtti.
-veya-
Bu işlem geçerli platformda desteklenmiyor.
-veya-
path
bir dizin belirtti.
-veya-
Çağıranın gerekli izni yok.
path
geçersiz biçimde.
Çağıranın gerekli izni yok.
Örnekler
Aşağıdaki kod örneği, bir dosyaya metin yazmak için WriteAllLines yönteminin kullanımını gösterir. Bu örnekte, henüz yoksa bir dosya oluşturulur ve dosyaya metin eklenir.
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
Açıklamalar
Hedef dosya zaten varsa kesilir ve üzerine yazılır.
Dize dizisi ve dosya yolu göz önüne alındığında, bu yöntem belirtilen dosyayı açar, belirtilen kodlamayı kullanarak dize dizisini dosyaya yazar ve ardından dosyayı kapatır.
Şunlara uygulanır
WriteAllLines(String, IEnumerable<String>, Encoding)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Belirtilen kodlamayı kullanarak yeni bir dosya oluşturur, dosyaya bir dize koleksiyonu yazar ve dosyayı kapatır.
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)
Parametreler
- path
- String
Yazacak dosya.
- contents
- IEnumerable<String>
Dosyaya yazacak satırlar.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya GetInvalidPathChars() yöntemi tarafından tanımlanan bir veya daha fazla geçersiz karakter içerir.
path
, contents
veya encoding
null
.
path
geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosya açılırken bir G/Ç hatası oluştu.
path
, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.
path
geçersiz biçimde.
Çağıranın gerekli izni yok.
path
salt okunur bir dosya belirtti.
-veya-
path
gizli bir dosya belirtti.
-veya-
Bu işlem geçerli platformda desteklenmiyor.
-veya-
path
bir dizindir.
-veya-
Çağıranın gerekli izni yok.
Açıklamalar
Hedef dosya zaten varsa kesilir ve üzerine yazılır.
Aşağıdakileri içeren bir dosya oluşturmak için bu yöntemi kullanabilirsiniz:
ReadLines yöntemi kullanılarak elde edilen LINQ to Objects bir dosyanın satırlarındaki sorgunun sonuçları.
Dizelerin IEnumerable<T> uygulayan bir koleksiyonun içeriği.
Şunlara uygulanır
WriteAllLines(String, IEnumerable<String>)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Yeni bir dosya oluşturur, dosyaya bir dize koleksiyonu yazar ve dosyayı kapatır.
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))
Parametreler
- path
- String
Yazacak dosya.
- contents
- IEnumerable<String>
Dosyaya yazacak satırlar.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya GetInvalidPathChars() yöntemi tarafından tanımlanan bir veya daha fazla geçersiz karakter içerir.
path
veya contents
null
.
path
geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosya açılırken bir G/Ç hatası oluştu.
path
, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.
path
geçersiz biçimde.
Çağıranın gerekli izni yok.
path
salt okunur bir dosya belirtti.
-veya-
path
gizli bir dosya belirtti.
-veya-
Bu işlem geçerli platformda desteklenmiyor.
-veya-
path
bir dizindir.
-veya-
Çağıranın gerekli izni yok.
Örnekler
Aşağıdaki örnek, örnek veri dosyasından seçilen satırları bir dosyaya yazar.
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
Açıklamalar
WriteAllLines(String, IEnumerable<String>) yönteminin varsayılan davranışı, bayt sırası işareti (BOM) olmadan UTF-8 kodlaması kullanarak verileri yazmaktır. Dosyanın başında bayt sırası işareti gibi bir UTF-8 tanımlayıcısının eklenmesi gerekiyorsa, UTF8 kodlama ile WriteAllLines(String, IEnumerable<String>, Encoding) yöntemi aşırı yüklemesini kullanın.
Hedef dosya zaten varsa kesilir ve üzerine yazılır.
Oluşturucusunda List<T>, HashSet<T>veya SortedSet<T> sınıfı gibi bir IEnumerable<T> alan bir koleksiyon sınıfının içeriğini oluşturmak için bu yöntemi kullanabilirsiniz.
Şunlara uygulanır
WriteAllLines(String, String[])
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Yeni bir dosya oluşturur, belirtilen dize dizisini dosyaya yazar ve dosyayı kapatır.
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())
Parametreler
- path
- String
Yazacak dosya.
- contents
- String[]
Dosyaya yazacak dize dizisi.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir.
GetInvalidPathChars() yöntemini kullanarak geçersiz karakterleri sorgulayabilirsiniz.
path
veya contents
null
.
Belirtilen yol, dosya adı veya her ikisi de sistem tanımlı uzunluk üst sınırını aşıyor.
Belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosya açılırken bir G/Ç hatası oluştu.
path
salt okunur bir dosya belirtti.
-veya-
path
gizli bir dosya belirtti.
-veya-
Bu işlem geçerli platformda desteklenmiyor.
-veya-
path
bir dizin belirtti.
-veya-
Çağıranın gerekli izni yok.
path
geçersiz biçimde.
Çağıranın gerekli izni yok.
Örnekler
Aşağıdaki kod örneği, bir dosyaya metin yazmak için WriteAllLines yönteminin kullanımını gösterir. Bu örnekte, henüz yoksa bir dosya oluşturulur ve dosyaya metin eklenir.
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
Açıklamalar
Hedef dosya zaten varsa kesilir ve üzerine yazılır.
WriteAllLines yönteminin varsayılan davranışı, bayt sırası işareti (BOM) olmadan UTF-8 kodlaması kullanarak verileri yazmaktır. Dosyanın başında bayt sırası işareti gibi bir UTF-8 tanımlayıcısının eklenmesi gerekiyorsa, UTF8 kodlama ile WriteAllLines(String, String[], Encoding) yöntemi aşırı yüklemesini kullanın.
Bir dize dizisi ve dosya yolu verilip bu yöntem belirtilen dosyayı açar, dize dizisini dosyaya yazar ve dosyayı kapatır.