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, 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, IEnumerable<String>, Encoding) |
Belirtilen kodlamayı kullanarak yeni bir dosya oluşturur, dosyaya bir dize koleksiyonu yazar ve dosyayı kapatır. |
WriteAllLines(String, String[], Encoding) |
Yeni bir dosya oluşturur, belirtilen kodlamayı kullanarak belirtilen dize dizisini dosyaya yazar ve ardından dosyayı kapatı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 yöntemi tarafından GetInvalidPathChars() tanımlanan bir veya daha fazla geçersiz karakter içerir.
veya path
contents
şeklindedir null
.
path
geçersizdir (örneğin, eşlenmemiş bir sürücüdedir).
Dosyayı açarken bir G/Ç hatası oluştu.
path
sistem tanımlı maksimum uzunluğu 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, seçilen satırları örnek veri dosyasından 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
Yönteminin WriteAllLines(String, IEnumerable<String>) varsayılan davranışı, bayt sipariş işareti (BOM) olmadan UTF-8 kodlaması kullanarak verileri yazmaktır. Bir dosyanın başında bayt sırası işareti gibi bir UTF-8 tanımlayıcısı eklemek gerekiyorsa, kodlama ile UTF8 yöntem aşırı yüklemesini WriteAllLines(String, IEnumerable<String>, Encoding) kullanın.
Hedef dosya zaten varsa, kesilir ve üzerine yazılır.
Oluşturucusunda , HashSet<T>veya SortedSet<T> sınıfı gibi List<T>bir IEnumerable<T> alan 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. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.
veya path
contents
şeklindedir null
.
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
Belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosyayı açarken 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 yönteminin WriteAllLines 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.
Yönteminin WriteAllLines varsayılan davranışı, bayt sipariş işareti (BOM) olmadan UTF-8 kodlaması kullanarak verileri yazmaktır. Bir dosyanın başında bayt sırası işareti gibi bir UTF-8 tanımlayıcısı eklemek gerekiyorsa, kodlama ile UTF8 yöntem aşırı yüklemesini WriteAllLines(String, String[], Encoding) kullanın.
Bir dize dizisi ve dosya yolu verilip bu yöntem belirtilen dosyayı açar, dize dizisini dosyaya yazar ve 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 yöntemi tarafından GetInvalidPathChars() tanımlanan bir veya daha fazla geçersiz karakter içerir.
, path
contents
veya encoding
şeklindedirnull
.
path
geçersizdir (örneğin, eşlenmemiş bir sürücüdedir).
Dosyayı açarken bir G/Ç hatası oluştu.
path
sistem tanımlı maksimum uzunluğu 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ğıdakini içeren bir dosya oluşturmak için bu yöntemi kullanabilirsiniz:
yöntemi kullanılarak elde edilen bir dosyanın satırlarındaki LINQ to Objects sorgusunun ReadLines sonuçları.
Dizelerden birini uygulayan bir IEnumerable<T> koleksiyonun içeriği.
Şunlara uygulanı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. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.
veya path
contents
şeklindedir null
.
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
Belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosyayı açarken 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 bir biçimde.
Çağıranın gerekli izni yok.
Örnekler
Aşağıdaki kod örneği, bir dosyaya metin yazmak için yönteminin WriteAllLines 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.
Bir dize dizisi ve dosya yolu verüldüğünde, bu yöntem belirtilen dosyayı açar, belirtilen kodlamayı kullanarak dize dizisini dosyaya yazar ve sonra dosyayı kapatır.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin