FileMode.Append
FileMode.Append пишет в хвост
abcde.txt, не затирая начало.
Вместе с
FileAccess
нужен Write или ReadWrite,
не Read. Открывают через
File.Open
или FileStream.
Синтаксис
using FileStream stream = new FileStream(
path, FileMode.Append, FileAccess.Write);
Пример
Давайте допишем текст в конец:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
using (FileStream stream = new FileStream(
"abcde.txt", FileMode.Append, FileAccess.Write))
{
byte[] data = Encoding.UTF8.GetBytes("12345");
stream.Write(data, 0, data.Length);
}
string res = File.ReadAllText("abcde.txt");
Console.WriteLine(res);
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
"abcde12345"
Пример
Давайте проверим позицию перед записью:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
using (FileStream stream = new FileStream(
"abcde.txt", FileMode.Append, FileAccess.Write))
{
Console.WriteLine(stream.Position);
}
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
5
Пример
Давайте создать файл через Append,
если его ещё нет:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
if (File.Exists("abcde.txt"))
{
File.Delete("abcde.txt");
}
using (FileStream stream = new FileStream(
"abcde.txt", FileMode.Append, FileAccess.Write))
{
byte[] data = Encoding.UTF8.GetBytes("abcde");
stream.Write(data, 0, data.Length);
}
string res = File.ReadAllText("abcde.txt");
Console.WriteLine(res);
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
FileAccess,
Writeдля дописывания -
FileMode,
другие режимы открытия -
Create,
запись с начала файла -
File.Open,
открытие с режимом и доступом