Есть файл с которым работает программа. Она считывает и записывает в него данные. Во время работы программы файл должен быть заблокирован на запись, но открывать на чтение его можно. Использую такое решение:
static FileStream file = File.Open("D:\\Stat.csv", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
static void Main(string[] args)
{
// запись в файл
using (var text = new StreamWriter(file, Encoding.GetEncoding(1251), 1024, leaveOpen: true))
{
text.WriteLine("test");
}
}
Все работает, но я не нашел перегрузки StreamWriter именно для дозаписи данных. Подскажите решение.
В вашем случае file.Position = file.Length
перед записью.
Но вообще для этого есть более удобный метод: File.AppendAllText
.
Файл в этом случае будет создан с блокировкой на запись и шарой на чтение:
return (Stream) new FileStream(path, mode, FileAccess.Write, FileShare.Read, 4096, FileOptions.SequentialScan, Path.GetFileName(path), false, false, checkHost);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите, пожалуйстаНа сайте товары выводятся циклом, к ним подключен magnifi pop-up, но второй по счету всегда не работает, где искать проблему?...