2011-08-12 89 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。查看日志并检查文件路径是否正确。

我有一种感觉,这将允许你看到不正确的目录/路径。