File.WriteAllLines Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un nuovo file, vi scrive una o più stringhe e quindi lo chiude.
Overload
WriteAllLines(String, IEnumerable<String>) |
Crea un nuovo file, vi scrive una raccolta di stringhe e quindi lo chiude. |
WriteAllLines(String, String[]) |
Crea un nuovo file, scrive la matrice di stringhe specificata e quindi lo chiude. |
WriteAllLines(String, IEnumerable<String>, Encoding) |
Crea un nuovo file usando la codifica specificata, vi scrive una raccolta di stringhe e quindi lo chiude. |
WriteAllLines(String, String[], Encoding) |
Crea un nuovo file, vi scrive la matrice di stringhe specificata usando la codifica specificata e quindi lo chiude. |
WriteAllLines(String, IEnumerable<String>)
- Origine:
- File.cs
- Origine:
- File.cs
- Origine:
- File.cs
Crea un nuovo file, vi scrive una raccolta di stringhe e quindi lo chiude.
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))
Parametri
- path
- String
File in cui scrivere.
- contents
- IEnumerable<String>
Righe da scrivere nel file.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: path
è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .
path
o contents
è null
.
path
non è valido (ad esempio si trova in un'unità non mappata).
Si è verificato un errore di I/O durante l'apertura del file.
La lunghezza di path
supera la lunghezza massima definita dal sistema.
Il formato di path
non è valido.
Il chiamante non dispone dell'autorizzazione richiesta.
path
specifica un file di sola lettura.
-oppure-
path
specifica un file nascosto.
-oppure-
L'operazione non è supportata sulla piattaforma corrente.
-oppure-
path
è una directory.
-oppure-
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
L'esempio seguente scrive righe selezionate da un file di dati di esempio in un 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
Commenti
Il comportamento predefinito del metodo consiste nel WriteAllLines(String, IEnumerable<String>) scrivere i dati usando la codifica UTF-8 senza un indicatore di ordine byte (BOM). Se è necessario includere un identificatore UTF-8, ad esempio un contrassegno di ordine di byte, all'inizio di un file, usare l'overload del WriteAllLines(String, IEnumerable<String>, Encoding) metodo con UTF8 la codifica.
Se il file di destinazione esiste già, viene troncato e sovrascritto.
È possibile usare questo metodo per creare il contenuto di una classe di raccolta che accetta un IEnumerable<T> oggetto nel relativo costruttore, ad esempio List<T>, HashSet<T>o una SortedSet<T> classe .
Si applica a
WriteAllLines(String, String[])
- Origine:
- File.cs
- Origine:
- File.cs
- Origine:
- File.cs
Crea un nuovo file, scrive la matrice di stringhe specificata e quindi lo chiude.
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())
Parametri
- path
- String
File in cui scrivere.
- contents
- String[]
Matrice di stringhe da scrivere nel file.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: path
è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars().
path
o contents
è null
.
Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.
Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.
Si è verificato un errore di I/O durante l'apertura del file.
path
specifica un file di sola lettura.
-oppure-
path
specifica un file nascosto.
-oppure-
L'operazione non è supportata sulla piattaforma corrente.
-oppure-
path
ha specificato una directory.
-oppure-
Il chiamante non dispone dell'autorizzazione richiesta.
Il formato di path
non è valido.
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso del WriteAllLines metodo per scrivere testo in un file. In questo esempio viene creato un file, se non esiste già, e il testo viene aggiunto.
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
Commenti
Se il file di destinazione esiste già, viene troncato e sovrascritto.
Il comportamento predefinito del metodo consiste nel WriteAllLines scrivere i dati usando la codifica UTF-8 senza un byte order mark (BOM). Se è necessario includere un identificatore UTF-8, ad esempio un contrassegno di ordine di byte, all'inizio di un file, usare l'overload del WriteAllLines(String, String[], Encoding) metodo con UTF8 la codifica.
Dato una matrice di stringhe e un percorso di file, questo metodo apre il file specificato, scrive la matrice di stringhe nel file e quindi chiude il file.
Si applica a
WriteAllLines(String, IEnumerable<String>, Encoding)
- Origine:
- File.cs
- Origine:
- File.cs
- Origine:
- File.cs
Crea un nuovo file usando la codifica specificata, vi scrive una raccolta di stringhe e quindi lo chiude.
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)
Parametri
- path
- String
File in cui scrivere.
- contents
- IEnumerable<String>
Righe da scrivere nel file.
- encoding
- Encoding
Codifica dei caratteri da usare.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: path
è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti dal GetInvalidPathChars() metodo .
path
, contents
o encoding
è null
.
path
non è valido (ad esempio si trova in un'unità non mappata).
Si è verificato un errore di I/O durante l'apertura del file.
La lunghezza di path
supera la lunghezza massima definita dal sistema.
Il formato di path
non è valido.
Il chiamante non dispone dell'autorizzazione richiesta.
path
specifica un file di sola lettura.
-oppure-
path
specifica un file nascosto.
-oppure-
L'operazione non è supportata sulla piattaforma corrente.
-oppure-
path
è una directory.
-oppure-
Il chiamante non dispone dell'autorizzazione richiesta.
Commenti
Se il file di destinazione esiste già, viene troncato e sovrascritto.
È possibile usare questo metodo per creare un file contenente quanto segue:
Risultati di una query LINQ to Objects sulle righe di un file, come ottenuto usando il ReadLines metodo .
Contenuto di una raccolta che implementa un IEnumerable<T> oggetto di stringhe.
Si applica a
WriteAllLines(String, String[], Encoding)
- Origine:
- File.cs
- Origine:
- File.cs
- Origine:
- File.cs
Crea un nuovo file, vi scrive la matrice di stringhe specificata usando la codifica specificata e quindi lo chiude.
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)
Parametri
- path
- String
File in cui scrivere.
- contents
- String[]
Matrice di stringhe da scrivere nel file.
- encoding
- Encoding
Oggetto Encoding che rappresenta la codifica di caratteri applicata alla matrice di stringhe.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: path
è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars().
path
o contents
è null
.
Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.
Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.
Si è verificato un errore di I/O durante l'apertura del file.
path
specifica un file di sola lettura.
-oppure-
path
specifica un file nascosto.
-oppure-
L'operazione non è supportata sulla piattaforma corrente.
-oppure-
path
ha specificato una directory.
-oppure-
Il chiamante non dispone dell'autorizzazione richiesta.
Il formato di path
non è valido.
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso del WriteAllLines metodo per scrivere testo in un file. In questo esempio viene creato un file, se non esiste già, e il testo viene aggiunto.
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
Commenti
Se il file di destinazione esiste già, viene troncato e sovrascritto.
Dato una matrice di stringhe e un percorso di file, questo metodo apre il file specificato, scrive la matrice di stringhe nel file usando la codifica specificata e quindi chiude il file.
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per