File.WriteAllLines Yöntem

Tanım

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.

encoding
Encoding

Dize dizisine uygulanan karakter kodlamasını temsil eden bir Encoding nesnesi.

Ö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 contentsnull.

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, contentsveya encodingnull.

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:

Ş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 contentsnull.

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 contentsnull.

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.

Şunlara uygulanır