我有一个奇怪的错误。我有一个包含2行的文本文件。 1表示目录路径,1表示数据。
应用程序将给定目录中文件的所有路径写入文本文件。但我希望能够通过第二个文本文件更改路径。
以下是阅读文本文件的代码:
//Reads 2 lines of the text file
string[] TextData = File.ReadAllLines(@text file);
string DirectoryPath = TextData[1];
string ScanHours = TextData[2];
以下是编写string DirectoryPath = TextData[1];
找到的所有文件的代码:
//Writes all the files of DirectoryPath into a string
string[] files = Directory.GetFiles(DirectoryPath, "*.*", System.IO.SearchOption.AllDirectories);
基本上,string DirectoryPath = TextData[1];
是指文本文件中的一行。该行包含目录的路径。
我收到此错误:System.IO.Directory does not contain a definition for GetFiles
。
我尝试了多种方法,例如将Directory.GetFileS();
更改为Path.GetFiles();
如果有人可以帮助我,或指出我正确的方向,我会很感激! :)
编辑 - >完整的代码
public static void Main(string[] args)
{
string[] TextData = File.ReadAllLines(@"C:\TextData.txt");
string DirectoryPath = TextData[1];
//string ScanHours = TextData[2];
//Original
//string DirectoryPath = File.ReadAllText(@"C:\DirectoryPath.txt");
string[] files = Path.GetFiles(DirectoryPath, "*.*", System.IO.SearchOption.AllDirectories);
List<string> updatedFiles = new List<string>();
DateTime from = DateTime.Now.AddDays(-1);
DateTime to = DateTime.Now;
foreach (string name in files)
{
FileInfo file = new FileInfo(name);
string fullname = file.FullName;
if (file.LastWriteTime >= from && file.LastWriteTime <= to)
{
updatedFiles.Add(name);
Console.WriteLine(file.FullName + " ; " + "last changed at >> " + " ; " + file.LastWriteTime.ToString());
Console.WriteLine();
}
else
{
}
}
}
其中有一个FileStream / Streamwriter来记录每个输出。但我删除了它。
编辑2 - &gt;使用Directory.GetFiles
代替Path.GetFiles
System.ArgumentException:路径格式无效。 在System.IO.Path.NormalizePath(String path,Boolean fullCheck,Int32 maxPathLength)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.FileSystemEnumerableIterator 1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler
1 resultHandler,Boolean checkHost)
at System.IO.Directory.GetFiles(String path,String searchPattern,SearchOption searchOption)
在CheckWithinTime.Program.Main(String [] args)中的c:\ Users \ Vvandereng \ Documents \ Stage \ Programmeren \ LastWriteAccess-Checker \ LastWriteAccess-Checker \ Program.cs:regel 30
答案 0 :(得分:1)
我收到此错误:System.IO.Directory不包含GetFiles的定义
这令人困惑,此处错误显示
错误1'System.IO.Path'不包含'GetFiles'的定义
使用Directory.GetFiles
string[] files = Directory.GetFiles(DirectoryPath, "*.*", System.IO.SearchOption.AllDirectories);
答案 1 :(得分:-3)
尝试从DirectoryPath值中删除行结束字符。