Метод File.OpenWrite
Метод File.OpenWrite открывает файл
для записи с начала. В отличие от
WriteAllText,
он сам не обнуляет файл: новые байты
перекрывают старые с позиции 0, хвост
может сохраниться. Есть OpenWriteAsync.
Синтаксис
using FileStream stream = File.OpenWrite(path);
Пример
Давайте перезапишем начало abcde.txt:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
using (FileStream stream = File.OpenWrite("abcde.txt"))
{
byte[] data = Encoding.UTF8.GetBytes("123");
stream.Write(data, 0, data.Length);
}
string res = File.ReadAllText("abcde.txt");
Console.WriteLine(res);
}
}
Результат выполнения кода:
"123de"
Пример
Давайте создадим файл записью через поток:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
using (FileStream stream = File.OpenWrite("12345.txt"))
{
byte[] data = Encoding.UTF8.GetBytes("12345");
stream.Write(data, 0, data.Length);
}
string res = File.ReadAllText("12345.txt");
Console.WriteLine(res);
}
}
Результат выполнения кода:
"12345"
Пример
Давайте проверим, что чтение через поток недоступно:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
using (FileStream stream = File.OpenWrite("abcde.txt"))
{
Console.WriteLine(stream.CanRead);
}
}
}
Результат выполнения кода:
False
Смотрите также
-
WriteAllText,
полная замена текста -
OpenRead,
чтение через поток -
Create,
обнулить файл при создании -
File,
остальные методы