我有一个程序,我想从控制台获取文件路径,例如程序要求我键入文件的路径,但这是问题,我不想写整个路径。我想使用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但如果我使用整个路径而不是“输入”程序。
答案 0 :(得分:0)
您需要确保.txt文件与正在运行的.exe文件位于同一目录中
您可以使用VisualStudio将其复制到调试位置:
在解决方案资源管理器中单击您的文件,然后设置"复制到输出目录"选项
答案 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看起来像这样: