我一直在尝试访问以下路径来从目录中读取一些文件但是我没有成功抛出System.IO.DirectoryNotFound异常。
string pathname = @"\AppData\Local\Google\Chrome\User Data\Default\FileSystem\000"
使用以下代码:
string[] fileNames = Directory.GetFiles(pathname);
但是我仍然可以手动找到指定的目录,我的文件仍然存在。
有人可以帮助我解决这个问题吗?
如果我无法访问FileSystem目录,我该如何读取该目录中的文件。
此致 德里克
答案 0 :(得分:1)
而不是直接访问AppData \ Local,而是使用
string AppDataLocalPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
string pathname = AppDataLocalPath + "\Google\Chrome\User Data\Default\FileSystem\000";
无论用户配置文件在文件系统中的位置如何,都应返回提供路径。
答案 1 :(得分:0)
确保路径正确:
string pathname = @"\AppData\Local\Google\Chrome\User Data\Default\FileSystem\000"
由于第一个反斜杠,将在驱动器的根目录中查找该路径(即C:\ AppData \ Local \ Google \ Chrome \ User Data \ Default \ 000)。
答案 2 :(得分:0)
从Microsoft下载名为“Process Monitor”的工具,以验证实际使用的文件路径:http://technet.microsoft.com/en-us/sysinternals/bb896645
提示:“进程监视器”实时监视硬盘驱动器,注册表和线程/进程信息,并允许您保存它捕获的跟踪。
一个。打开Process Monitor,它将开始跟踪信息。
湾单击“放大镜”工具栏按钮(“开/关”跟踪按钮)停止跟踪。
℃。然后单击“清除跟踪”按钮以清除跟踪。
d。准备重现System.IO.DirectoryNotFound异常。
即然后单击Process Monitor中的“开始跟踪”按钮。
F。快速重现System.IO.DirectoryNotFound异常。
克。发生错误后,通过取消单击“放大镜”工具栏按钮停止“过程监视器”跟踪。
小时。查看日志并检查文件路径是否正确。
我有一种感觉,这会让您看到错误的目录/路径。