2011-08-12 117 views
-1

我一直試圖訪問下面的路徑來從目錄中讀取一些文件,但是我一直沒有成功拋出System.IO.DirectoryNotFound異常。使用找不到文件的路徑

string pathname = @"\AppData\Local\Google\Chrome\User Data\Default\FileSystem\000" 

下面的代碼:

string[] fileNames = Directory.GetFiles(pathname); 

但是我仍然可以手動在指定的目錄和文件,我要讀仍然存在。

任何人都可以幫我解決這個問題的解決方案嗎?

如果我不能訪問FileSystem目錄,我該如何讀取該目錄內的文件。

真誠, 德里克

+0

使用admin previliges啓動進程以訪問受限制的FS。 – Zenwalker

+0

您的觀點與System.IO的關係如何?DirectoryNotFound異常被拋出有關FileSystem的路徑? – Derek

+0

我指的是FileSystem不能訪問的問題。沒有例外。 首先通過手動瀏覽Windows資源管理器檢查該路徑是否真的存在。 – Zenwalker

回答

0

確保路徑是正確的:

string pathname = @"\AppData\Local\Google\Chrome\User Data\Default\FileSystem\000" 

將尋找驅動器(即C的根目錄路徑:\應用程序數據\本地\谷歌\ Chrome瀏覽器\ User Data \ Default \ 000),因爲第一個反斜槓。

+0

問題不在於路徑是否正確?我問,因爲我的FileSystem目錄無法訪問,我該如何去訪問它? – Derek

+1

您引用的錯誤是'System.IO.DirectoryNotFound' - 與它是否可以訪問無關。這是一個單獨的(權限)問題。 – Tim

1

而不是直接訪問應用程序數據\本地,而是可以使用

string AppDataLocalPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 
string pathname = AppDataLocalPath + "\Google\Chrome\User Data\Default\FileSystem\000"; 

這應該返回提供路徑,無論在哪裏,用戶配置文件所在的文件系統上的。

0

下載一個微軟稱爲「進程監視器」工具來驗證實際上是正在使用的文件路徑:http://technet.microsoft.com/en-us/sysinternals/bb896645

提示:「過程監控」監控硬盤驅動器,註冊表和線程/實時和處理信息允許您保存它捕獲的軌跡。

a。打開Process Monitor,它將開始跟蹤信息。

b。單擊放大鏡工具欄按鈕(其開/關跟蹤按鈕)停止跟蹤。

c。然後單擊清除跟蹤按鈕清除跟蹤。

d。準備重現System.IO.DirectoryNotFound異常。

e。然後單擊進程監視器中的開始跟蹤按鈕。

f。快速重現System.IO.DirectoryNotFound異常。 g。

g。發生錯誤後,通過取消單擊放大鏡工具欄按鈕來停止「進程監視器」跟蹤。 h。

h。查看日誌並檢查文件路徑是否正確。

我有一種感覺,這將允許你看到不正確的目錄/路徑。