Метод WriteLine
StreamWriter.WriteLine дописывает
NewLine
после текста. Кусок без перевода пишут
через
Write.
При
AutoFlush
данные видны в
MemoryStream
сразу. Есть WriteLineAsync.
Синтаксис
writer.WriteLine();
writer.WriteLine("text");
writer.WriteLine(value);
Пример
Давайте запишем строку с NewLine
"\n":
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
var ms = new MemoryStream();
using (var writer = new StreamWriter(
ms, new UTF8Encoding(false), 1024, leaveOpen: true))
{
writer.NewLine = "\n";
writer.WriteLine("abcde");
writer.Flush();
}
ms.Position = 0;
using var reader = new StreamReader(ms, Encoding.UTF8);
string res = reader.ReadToEnd();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"abcde\n"
Пример
Давайте запишем две строки подряд:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
var ms = new MemoryStream();
using (var writer = new StreamWriter(
ms, new UTF8Encoding(false), 1024, leaveOpen: true))
{
writer.NewLine = "\n";
writer.WriteLine("abcde");
writer.WriteLine("12345");
writer.Flush();
}
ms.Position = 0;
using var reader = new StreamReader(ms, Encoding.UTF8);
string? first = reader.ReadLine();
string? second = reader.ReadLine();
Console.WriteLine(first);
Console.WriteLine(second);
}
}
Результат выполнения кода:
"abcde"
"12345"
Пример
Давайте сравним с тем же через
StringWriter:
using System;
using System.IO;
class Program
{
static void Main()
{
using var writer = new StringWriter();
writer.NewLine = "\n";
writer.WriteLine("abcde");
string res = writer.ToString();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"abcde\n"
Смотрите также
-
свойство
NewLine,
которое задаёт конец строки -
метод
ReadLine,
который снимает строку при чтении -
StreamWriter,
класс, где объявленWriteLine -
MemoryStream,
куда попадают байты