给定目录中的缓冲区文件名
本文关键字:缓冲区 文件名 | 更新日期: 2023-09-27 18:32:41
我正在尝试找到一种方法来缓冲 C# 中给定目录中的文件名。我的意思是:
给定目录
C:/MyDir
其中包含文件:
File1_orig.txt
File1_edited.txt
File2_orig.txt
File2_edited.txt
。
Filen_orig.txt
Filen_edited.txt
我想将文件名(不是整个文件路径,只是文件名,例如 String[] 文件名 = Filen_orig.txt)存储到临时字符串中,并对它们进行简单的比较以查看它们是否包含目标字符串。
我想将字符串传递给:
while(STILL FILES IN DIRECTORY)
{
string[] exFileName = {BUFFER FILENAME HERE}
string[] words = exFileName.Split('_');
string[] toCompare = "edited";
bool result;
foreach (string word in words)
{
Console.WriteLine(word);
bool result = toCompare.Equals(word, StringComparison.OrdinalIgnoreCase);
if (result)
{
Console.WriteLine("success");
}
}
Console.ReadLine();
检查正在检查的文件是已编辑的 (*_edited.txt) 还是原始文件(*_original.txt),如果文件已编辑,则进一步处理该文件。
有谁知道如何自动读取文件路径?
谢谢。
如果你想查看是否有任何文件包含_edited位,你可以使用:
bool success = Directory.GetFiles(@"c:'MyDir").Any(p => p.Contains("_edited"));
我有点猜测这就是你想要的,因为你的代码不是很清楚(你的描述也不是很清楚)
编辑:显示所有编辑的文件:
foreach(var file in Directory.GetFiles(@"c:'MyDir").Where(p => p.Contains("_edited")))
{
Console.WriteLine(" {0}: edited", file);
}
另外,必须使用"System.Linq"
DirectoryInfo.GetFiles怎么样?
DirectoryInfo di = new DirectoryInfo(@"c:'");
// Get only subdirectories that contain the letter "p."
FileInfo[] files= di.GetFiles("*.txt");
foreach (FileInfo fi in files)
{
string exFileName = fi.FileName;
...
}