Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Доступ к файлу


Автор: andrey_pro 23.12.2008, 22:16
Имеется следующий код:

FileStream f1 = File.Open(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
FileStream f2 = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

Почему на второй строке вылетает Exception, вроде же файл должен открыться только для чтения.

Автор: musson 23.12.2008, 22:55
так в строке FileStream f1 = File.Open(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
используется FileAccess.ReadWrite
может быть нужно вначале вызвать функцию f1.Close()
а потом уже
FileStream f2 = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

Автор: andrey_pro 23.12.2008, 23:08
в том то и дело что не надо закрывать. 
если первая строка работает с файлом, читает и пишет,
то вторая строка должна только читать; и все параллельно.
только не пойму почему не работает

Автор: jorikdima 23.12.2008, 23:20
FileShare.Read
подзреваю в этом проблема

Автор: Bishop 24.12.2008, 00:18
andrey_pro, 
Второй раз открывайте файл указывая FileShare.ReadWrite.

Автор: andrey_pro 24.12.2008, 08:43
Цитата(Bishop @ 24.12.2008,  00:18)
andrey_pro, 
Второй раз открывайте файл указывая FileShare.ReadWrite.

заработало

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)