Копировать файл с правами только для чтения - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть этот код:

try
{
   using (FileStream fs = File.Create(path)) { }
   File.Delete(pathToStore);
   File.Copy(path, pathToStore);
}
catch(Exception){}

Я считаю, что атрибуты чтения и записи установлены, потому что я получаю сообщение об ошибке отказа в доступе.Есть ли способ установить атрибут чтения только в моем коде, чтобы я не получил ошибку отказа в доступе?Мой путь к серверу, и у меня есть разрешение, чтобы открыть файл и выполнить файл.

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012

ОСТОРОЖНО, если IF path не доступен только для чтения, он перезаписывается вашим кодом в соответствии с MSDN !

Поскольку блок пуст, я бы просто удалил этот блок using..

измените свой код на

try
{
   if ( File.Exists (path) )
   {
      File.Delete(pathToStore);
      File.Copy(path, pathToStore);
   }
}
catch(Exception Ex)
{ 
// do something with the Exception! 
}

Однако, один момент: обычно ПЛОХАЯ идея просто проглотить все исключения!

2 голосов
/ 15 февраля 2012
File.OpenRead(path);

это то, что тебе нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...