close

 說明:

我們來進行修改檔案的屬性為非唯讀、唯讀檔,如下圖,紅色部分為勾選唯讀或非唯讀檔案。

唯讀檔案通常不可被程式讀取、寫入,所以我們可以透過程式碼,將檔案屬性為唯讀改成非唯讀,以便程式對此檔案讀取、寫入。

03  

 


 

首先設定檔案路徑。

C#的檔案讀取、寫入的路徑指定方式有兩種:

絕對路徑:

1.是使用兩個斜線,例如 "C:\\Test.xls"
2.在路徑前加上@符號,以及使用一個斜線,例如 @"C:\Test.xls"

 

相對路徑:

"~/Download/Test.xls"

 

 


 

 

來看一下程式碼,首先設定檔案讀取路徑

string strPath = "C:\\Test.xls";

//new一個檔案屬性

System.IO.FileInfo batchItemAttribute = new FileInfo(strPath);

//設定檔案屬性為非唯讀

batchItemAttribute.Attributes = FileAttributes.Normal;

//設定檔案屬性為唯讀

batchItemAttribute.Attributes = FileAttributes.ReadOnly;

 


 

 

結論:

由於這會在TFS版本控管時遇到的!通常TFS版本控管會將檔案預設為唯讀檔,導致我們有意讀取、寫入時,會發生讀取不到、無法寫入的莫名事件,修改檔案屬性是一個有效的解決方法。

針對類似的問產生,可參考此篇“TFS 版本控管時會將檔案設為唯讀,需注意 File.Open 的使用

http://blog.miniasp.com/post/2011/04/07/Open-a-ReadOnly-file-will-cause-UnauthorizedAccessException-in-TFS-project.aspx

 

arrow
arrow
    創作者介紹
    創作者 Thisway 的頭像
    Thisway

    Thisway的部落格

    Thisway 發表在 痞客邦 留言(0) 人氣()