我有一个文本文件列表,我希望能够在控制台应用程序中打开它。
我想要的输出是这样的:
- List1.txt
- List2.txt
- 醇>
List3.txt
等
获得此输出后,我想要一种能够调用其中一个文件并通过Console.ReadLine();
打开它的方法
我现在正在做的是
string[] FileNames = Directory.GetFiles(@"Itemized\", ".txt");
Console.WriteLine(String.Join(Environment.NewLine,FileNames));
这使得我可以获得如下所示的列表:
分项\ List1.txt
分项\ List2.txt
分项\ List3.txt
如果我知道文件夹中的文件数量,我可以对其进行硬编码,但我遇到的问题是可能存在任意数量的文件。
所以我现在正在寻找一种方法,可以将缩放数值附加到每个文件,并从前面删除文件夹名称。
我尝试过使用for循环让它工作但似乎无法理解它。
答案 0 :(得分:3)
尝试这样的事情
var fileNames = Directory.GetFiles(@"Itemized\", "*.txt").Select(Path.GetFileName).ToArray();
Console.WriteLine(string.Join(Environment.NewLine, fileNames));
答案 1 :(得分:2)
这是简洁明了的事情:
static void Main(string[] args)
{
string dirFolderPath = string.Format("{0}/{1}", Directory.GetCurrentDirectory(), "Itemized");
DirectoryInfo dir = new DirectoryInfo(dirFolderPath);
if(!dir.Exists)
{
dir.Create();
}
FileInfo[] files = dir.GetFiles("*.txt");
for(int i = 0; i < files.Length; i++)
{
string line = string.Format("\n{0}-{1}", i, files[i].Name);
Console.WriteLine(line);
}
Console.ReadLine();
}