Открытие файла без блокировки на удаление
От: Аноним  
Дата: 30.05.05 08:16
Оценка:
Господа,
Не знает ли кто, возможно ли открыть файл на чтение таким образом, чтобы другой поток мог его в это же время удалить?

Т.е. чтобы можно было делать что-то вроде следующего:
---
FileStream file = File.Open( fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite ):
File.Delete(fileName );
---
Re: Открытие файла без блокировки на удаление
От: Oyster Украина https://github.com/devoyster
Дата: 30.05.05 08:21
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Господа,

А>Не знает ли кто, возможно ли открыть файл на чтение таким образом, чтобы другой поток мог его в это же время удалить?

А>Т.е. чтобы можно было делать что-то вроде следующего:

А>---
А>FileStream file = File.Open( fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite ):
А>File.Delete(fileName );
А>---

Имхо единственный способ — сразу сохранить всё содержимое файла в память и закрыть его, а потом уж работать с сохранёнными данными. Иначе никак, есесно.
http://rsdn.org/File/27948/bf.gif
Открытие файла без блокировки на удаление
От: Аноним  
Дата: 30.05.05 11:04
Оценка:
Под NTFS можно попробовать создать ссылку на интересующий файл при помощи CreateHardLink.
Затем открыть созданную ссылку как файл для чтения.
Есть шанс, что исходный файл при этом можно удалить.
shura


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Открытие файла без блокировки на удаление
От: Bugor  
Дата: 31.05.05 14:06
Оценка:
Здравствуйте, erigami, Вы писали:

E>Под NTFS можно попробовать создать ссылку на интересующий файл при помощи CreateHardLink.

E>Затем открыть созданную ссылку как файл для чтения.
E>Есть шанс, что исходный файл при этом можно удалить.

К сожалению, не проходит. Хотя мысль была классная

Дело в том, что нужно написать тулзу, которая постоянно "висит" над каталогом, и анализирует файлы в нём. Но тулза не должна каким-либо образом блокировать файлы. Проблемы — с удаленией файлов.
Re[2]: Открытие файла без блокировки на удаление
От: _JoKe_  
Дата: 31.05.05 14:37
Оценка:
B>Дело в том, что нужно написать тулзу, которая постоянно "висит" над каталогом, и анализирует файлы в нём. Но тулза не должна каким-либо образом блокировать файлы. Проблемы — с удаленией файлов.

так для этого не надо файлы открывать
смотри функцию
ReadDirectoryChanges и все что вместе с ней
... << RSDN@Home 1.1.4 @@subversion >>
Re: Открытие файла без блокировки на удаление
От: FORGOTEN  
Дата: 31.05.05 16:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Господа,

А>Не знает ли кто, возможно ли открыть файл на чтение таким образом, чтобы другой поток мог его в это же время удалить?

А>Т.е. чтобы можно было делать что-то вроде следующего:

А>---
А>FileStream file = File.Open( fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite ):
А>File.Delete(fileName );
А>---

Если просто дать возможность удалить из другого потока — то FileShare.Delete.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.