通过控制台c#获取文件路径

时间:2016-05-22 19:19:38

标签: c#

我有一个程序,我想从控制台获取文件路径,例如程序要求我键入文件的路径,但这是问题,我不想写整个路径。我想使用openfiledialog或在解决方案中创建一个文本文件并从那里获取路径。以下是该部分的简短代码:

string input;
Console.WriteLine("Type path file: ");
input = Console.ReadLine();

string readText = File.ReadAllText(input);

Tree HuffmanTree = new Tree();

// Build the Huffman tree
HuffmanTree.Build(readText);

我已经在aplication中创建了一个Text.txt文件,我在c#中创建了控制台应用程序。错误是程序无法找到路径名称,例如。 Text.txt但如果我使用整个路径而不是“输入”程序。

2 个答案:

答案 0 :(得分:0)

您需要确保.txt文件与正在运行的.exe文件位于同一目录中

您可以使用VisualStudio将其复制到调试位置:

在解决方案资源管理器中单击您的文件,然后设置"复制到输出目录"选项

Solution Explorer

答案 1 :(得分:0)

确保您的路径和事物在字符串前面有@,例如@" c:\"逃避任何字符文字。还要知道,如果文本文件在EXE旁边,您不需要提供完整路径,那么您只提供文件名,在这种情况下它将是" test.txt"

using System.IO;
using System.Linq;
using System.Text.RegularExpressions;    

public static string getPathFromUser(string path)
    {
        if (File.Exists("test.txt"))
        {
            string k = Regex.Replace(File.ReadAllLines("test.txt").Single(d => d.ToLower().Contains(path.ToLower())), @"\w+:", "\0");
            return k != null || k != string.Empty ? k : "Unknown option.";
        }
        else
        {
            File.AppendAllText("test.txt", "home:");
            return "No file found, made one instead";
        }
    }

txt看起来像这样:

enter image description here