当定义了字符串而不是使用引号时,拒绝访问路径

时间:2018-10-22 04:38:19

标签: c#

我现在遇到一个非常奇怪的问题。 我正在尝试通过使用以下代码来获取目录的文件:

public static string[] fileList = Directory.GetFiles(@File.ReadAllText(Settings.localdir.Trim()));

但是,当我这样做时,出现此错误:

Access to the path 'C:\Users\lazho\Desktop' is denied.

但是当我执行此代码时:

public static string[] fileList = Directory.GetFiles(@"C:\Users\lazho\Desktop");

它可以正常工作。我不知道为什么当两个值都相同时会抛出错误。有任何想法吗?

P.S。我已经尝试过了:

public static string dir = @File.ReadAllText(Settings.localdir.Trim());
    public static string[] fileList = Directory.GetFiles(dir);

1 个答案:

答案 0 :(得分:1)

您的SecurityException来自File.ReadAllText方法。您无法在未经许可的情况下读取驱动器C

ReadAllTextDocs