文件读权限被拒绝
本文关键字:拒绝 权限 文件 | 更新日期: 2023-09-27 18:17:40
我在VS2008项目中使用以下c#代码读取一堆文件时遇到了问题
public void FindFiles()
{
//Root
targetPath = Directory.GetDirectoryRoot(Directory.GetCurrentDirectory()) + "WriteToCSVFolder";
}
public void ReadFiles()
{
fileNameList_Original = Directory.GetFiles(targetPath);
string defaultFileName = "file_";
int counter = 0;
foreach (string fileName in Directory.GetFiles(targetPath))
{
fullFileText_Original[counter] = File.ReadAllText(targetPath);
//fileNameList_Original[counter]
counter++;
}
counter = 0;
}
现在请考虑我只是快速滴答这个,所以我还没有麻烦做优化或任何事情。刚刚注意到,当我在W7 64位上禁用未打开的文件和UAC(用户帐户控制)进行读取操作时,也不会通过网络dropbox或其他任何东西共享它。这只是一些ABC BLA FOO文件,我刚刚制作并想测试,它们在我的系统文件夹中标有targetpath的正确目录中,并且程序正在从正确的驱动器运行。
这只是代码中的一些愚蠢的东西还是?
对了,应用程序被标记为完全信任。
任何想法?
编辑:从下面的评论部分实现新的想法:
从
更改代码public void ReadFiles()
{
fileNameList_Original = Directory.GetFiles(targetPath);
string defaultFileName = "file_";
int counter = 0;
foreach (string fileName in Directory.GetFiles(targetPath))
{
fullFileText_Original[counter] = File.ReadAllText(targetPath);
//fileNameList_Original[counter]
counter++;
}
counter = 0;
}
public void ReadFiles()
{
//Store all files names in a string array in one go
fileNameList_Original = Directory.GetFiles(targetPath);
string defaultFileName = "file_";
int counter = 0;
foreach (string fileName in Directory.GetFiles(targetPath))
{
//removed the storing file names, was redundant
//added the suggested idea to the proper array
fullFileText_Original[counter] = File.ReadAllText(fileName);
//fileNameList_Original[counter]
counter++;
}
counter = 0;
}
在文件上给我nullreference异常,不确定我的结论应该是从这个错误。我承认我现在很累,可能会在回家的路上意识到它到底是什么:)
最后的编辑:
代码运行良好。我不得不被解雇,因为我没有解决这个问题......试图将值赋给未初始化的数组并忽略任何可变大小.......从未发生过!
foreach (string fileName in Directory.GetFiles(targetPath))
{
fileNameList_Original.Add(fileName);
foreach (string text in File.ReadAllLines(fileName))
{
fullFileText_Original.Add(text);
//fileNameList_Original[counter]
}
}
感谢您发现fileName而不是targetPath SGB!这也是我犯的一个错误!现在剩下的问题我自己解决了。