在C#中模仿/创建极简主义文件浏览器

时间:2014-04-09 02:51:02

标签: c# text-files file-browser

我正在尝试制作一个将文件存储为基于*.txt的文档的程序。我希望能够单击按钮并提取当前存储的文件列表

(Located in C:\ProgramData\ProgramName\Incidents)

enter image description here

以上是我尝试完成的示例,其中140219-000727是文件的名称,其余部分并不需要。单击“打开”或“双击”将打开"打开"该文件并将.txt解析为我已经创建的WinForm应用程序上的预先存在的表单。

以最小的系统资源命中率最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

我认为Directory.GetFiles正是您所寻找的。你可以使用最简单的面具" * .txt"获取所有txt文件,然后使用Path.GetFileName从完整路径中剪切文件名。 稍后(双击或按钮单击)使用目录名+文件名进行打开:

//populating:
var files = Directory.GetFiles(YOUR_FOLDER_PATH, "*.txt");
foreach (var file in files)
{
    var fileName = Path.GetFileName(file);
    //assuming ListBox:
    listBox.Items.Add(filename);
}

//opening (from listbox)
var fileName = Path.Combine(YOUR_FOLDER_PATH, listBox.SelectedItem.ToString());
File.ReadAllText(fileName);

答案 1 :(得分:1)

你只需要一个FolderBrowserDialog控件。

var fileNames = new List<string>();
var fileContents = new Dictionary<string, string>();
var filePaths = Directory.EnumerateFiles(folderBrowserDialog1.SelectedPath, "*.txt");
foreach (var filePath in filePaths)
{
    var fileName =new FileInfo(filePath).Name; 
    fileNames.Add(fileName);
    fileContents.Add(fileName, File.ReadAllText(filePath));
}