Mam ten kod:

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

Uważam, że atrybuty odczytu i zapisu są ustawione, ponieważ otrzymuję błąd odmowy dostępu. Czy istnieje sposób, aby ustawić tylko atrybut odczytu w moim kodzie, aby nie otrzymywać błędu odmowy dostępu? Moja ścieżka prowadzi do serwera i mam uprawnienia do otwarcia pliku i wykonania pliku.

0
Phu Minh Pham 15 luty 2012, 11:13

2 odpowiedzi

Najlepsza odpowiedź

UWAŻAJ, że jeśli path nie jest tylko do odczytu, zostanie nadpisany przez Twój kod zgodnie z MSDN !

Ponieważ blok jest pusty, po prostu usunąłbym ten blok using...

Zmień swój kod

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

Jedna uwaga: połknięcie wszystkich wyjątków jest zwykle ZŁYM pomysłem!

2
Yahia 15 luty 2012, 11:33
File.OpenRead(path);

Czy tego potrzebujesz?

2
Philip Badilla 15 luty 2012, 11:16