2012-02-15 161 views
0

我有這樣的代碼:具有隻讀權限複製文件

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

我相信讀寫屬性設置,因爲我得到了拒絕訪問錯誤。 有沒有辦法只在我的代碼中設置讀屬性,所以我沒有得到訪問被拒絕的錯誤?我的路徑是到服務器,我有權打開文件並執行文件。

+3

在複製之前刪除文件? – gideon 2012-02-15 07:16:00

+1

你使用的塊體是否真空?如果是,爲什麼?順便說一下,您正在服務器上創建一個文件(「路徑」位於服務器上,對嗎?),您應該具有對路徑的寫入權限。 – 2012-02-15 07:16:53

+1

做這個'catch(Exception ex)'並且告訴我們'ex'。 – 2012-02-15 07:17:10

回答

2

請注意,如果path不是隻讀的,它會被您的代碼根據MSDN覆蓋!

由於塊是空的,我只想刪除using塊......

改變你的代碼

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

一點,但:它通常是一個壞主意,剛嚥下所有異常!

+0

yeaaiii :)這工作正常。感謝所有人回覆! :) – 2012-02-15 10:21:01

2
File.OpenRead(path); 

這是你需要什麼?

相關問題