如果文件目录为空c#
本文关键字:文件目录 如果 | 更新日期: 2023-09-27 18:10:57
所以我正在构建一个控制台应用程序,该应用程序具有列出目录中所有文件的功能,我想告诉它显示一条消息"目录为空",如果该文件夹中没有文件。我的代码正确地返回文件夹内容,但我不能让它显示我的文本信息,如果目录是空的,就像它忽略了if语句。有人能告诉我为什么不行吗?谢谢!
Console.WriteLine(" Displaying Contents of Write Directory: ");
Console.WriteLine(" ---------------------------------------");
Console.WriteLine();
string[] filePaths = Directory.GetFiles(writeDir);
for (int i = 0; i < filePaths.Length; ++i)
{
if (i == 0)
{
Console.WriteLine();
Console.WriteLine(" Directory is Empty!");
Console.WriteLine();
Console.ReadLine();
}
else
{
string path = filePaths[i];
Console.WriteLine("File: " + System.IO.Path.GetFileName(path));
Console.WriteLine();
}
}
当没有文件时,它将无法到达您的if
:
if ( filePaths.Length > 0 )
{
for (int i = 0; i < filePaths.Length; ++i)
{
string path = filePaths[i];
Console.WriteLine("File: " + System.IO.Path.GetFileName(path));
Console.WriteLine();
}
}
else{
Console.WriteLine();
Console.WriteLine(" Directory is Empty!");
Console.WriteLine();
Console.ReadLine();
}
string[] filePaths = Directory.GetFiles(writeDir);
if (filePaths.Length == 0)
{
Console.WriteLine();
Console.WriteLine(" Directory is Empty!");
Console.WriteLine();
Console.ReadLine();
}
else
{
for (int i = 0; i < filePaths.Length; ++i)
{
string path = filePaths[i];
Console.WriteLine("File: " + System.IO.Path.GetFileName(path));
Console.WriteLine();
}
}
将检查数组大小的if语句从for循环中取出。for循环的条件是,除非file.Paths.Length
返回一个大于0的数字,否则它不会触发,所以当目录中没有文件时,不会检查if语句。