Ошибка доступа к файлу - C# (187939)
Формулировка задачи:
Здравствуйте!
Есть асинхронный сервер по сбору данных. Необходимо все получаемые данные писать в файл. Если файл создан, то никаких проблем не происходит. Но если файла нет, то вылетает ошибка что файл занят другим процессом, при этом файл создается но в его не идет запись пока не перезапустить прогу. Может кто-нибудь сталкивался с данной проблемой?
Пример функции записи в файл ниже.
Листинг программы
- private void TestWriteFile(Object obj)
- {
- try
- {
- lock (thisLock)
- {
- DateTime dtDateTime = DateTime.Now;
- String str = dtDateTime.ToLongTimeString() + " " + (String)obj;
- string FileName = "TestWriteFile.txt";
- if (!File.Exists(FileName))
- {
- File.Create(FileName);
- }
- FileStream fFile = new FileStream(FileName, FileMode.Append, FileAccess.Write);
- BufferedStream bufStream = new BufferedStream(fFile);
- StreamWriter sWrite = new StreamWriter(bufStream);
- for (int i = 0; i < 10; i++)
- {
- sWrite.WriteLine(str);
- }
- sWrite.Flush();
- sWrite.Close();
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
Решение задачи: «Ошибка доступа к файлу»
textual
Листинг программы
- using (FileStream fFile = new FileStream(FileName, FileMode.Append, FileAccess.Write))
- using (BufferedStream bufStream = new BufferedStream(fFile))
- using (StreamWriter sWrite = new StreamWriter(bufStream))
- {
- for (int i = 0; i < 10; i++)
- {
- sWrite.WriteLine(str);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д