Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
ikari81
3 / 3 / 3
Регистрация: 17.05.2011
Сообщений: 227
#1

Неблокирующая запись файла - C#

03.09.2011, 09:38. Просмотров 722. Ответов 5
Метки нет (Все метки)

Добавил в программу функцию журналирования своих действий и столкнулся с тем, что пока программа работает, пишет действия в текстовый файл, файл нельзя отрыть например блокнотом, тк видимо он открыт в монопольном режиме. Чем осуществлять запись в файл, чтобы можно во время работы программы его открыть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2011, 09:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Неблокирующая запись файла (C#):

Запись звукового файла поверх существующего mp3 файла
Привет всем. Ситуация интересная. Есть около 3000 mp3 файлов. Есть записан...

Запись файла
Всем привет. В чем суть проги - запоминает иностранные слова и потом по клику...

Запись из файла в массив
Нужно из файла txt перетащить числа в массив,не получается,массив типа: ...

Запись и чтение из файла
Доброго времени суток! Задание было такого: Создать экспертную систему "Где...

Чтение и запись файла
Подскажите пожалуйста, мне необходимо открывать любой файл из диалогового меню,...

Запись файла в кодировке DOS
Добрый день! Нужно записать файл в кодировке CP866 (DOS). Пишу: ...

5
lambda
46 / 46 / 8
Регистрация: 26.08.2011
Сообщений: 84
03.09.2011, 09:50 #2
Можно посмотреть как вы сейчас открываете?
0
ikari81
3 / 3 / 3
Регистрация: 17.05.2011
Сообщений: 227
03.09.2011, 09:54  [ТС] #3
обычным блокнотом
0
lambda
46 / 46 / 8
Регистрация: 26.08.2011
Сообщений: 84
03.09.2011, 09:58 #4
Цитата Сообщение от ikari81 Посмотреть сообщение
обычным блокнотом
Я имел в виду как вы открываете файл в коде.

Открываю файл вот таким образом и файл не блокируется:

C#
1
2
3
4
5
6
7
8
9
10
using (StreamWriter writer = new StreamWriter(new FileStream(@"D:\SomeFile.txt", FileMode.Create, FileAccess.Write)))
            {
                for (int i = 0; i < 100; i++)
                {
                    writer.WriteLine("some string");
                    writer.Flush();
                    Console.WriteLine("Interation complete.");
                    System.Threading.Thread.Sleep(10000);
                }
            }
0
ikari81
3 / 3 / 3
Регистрация: 17.05.2011
Сообщений: 227
03.09.2011, 10:00  [ТС] #5
Цитата Сообщение от lambda Посмотреть сообщение
Я имел в виду как вы открываете файл в коде.

Открываю файл вот таким образом и файл не блокируется:

C#
1
2
3
4
5
6
7
8
9
10
using (StreamWriter writer = new StreamWriter(new FileStream(@"D:\SomeFile.txt", FileMode.Create, FileAccess.Write)))
            {
                for (int i = 0; i < 100; i++)
                {
                    writer.WriteLine("some string");
                    writer.Flush();
                    Console.WriteLine("Interation complete.");
                    System.Threading.Thread.Sleep(10000);
                }
            }
Тоже использую стримрайтер, только у меня FileAccess.ReadWrite
З.Ы. Этот пример при каждом запуске же файл стирает?
0
lambda
46 / 46 / 8
Регистрация: 26.08.2011
Сообщений: 84
03.09.2011, 10:11 #6
Цитата Сообщение от ikari81 Посмотреть сообщение
З.Ы. Этот пример при каждом запуске же файл стирает?
Да, но это легко поменять поставив FileMode.Append. Может быть при создании StreamWriter у вас устанавливается параметр FileShare.None? В таком случае ваша программа блокирует файл для себя и не даёт другим потокам его использовать.
1
03.09.2011, 10:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2011, 10:11
Привет! Вот еще темы с решениями:

запись строки в начло файла
Нужно записать строку/строки в начало файла. использую FileStream stream =...

Запись строк в определенное место файла
как писать строки в файл. вопрос даже не в этом. а именно: имеется уже...

запись из одного файла в другой с помощью filestream
как осуществить запись и зодного файла в другой с помощью filestream?хотелось...

Загрузка данных из Excel (только чтение из файла) и запись в БД
Загрузка данных из Excel (только чтение из файла) и запись в БД. Вопрос: как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru