C# 通过控制台c获取文件路径#
我有一个程序,我想从控制台获取文件路径,例如程序要求我键入文件路径,但问题是我不想写下整个路径。我想使用openfiledialog或在解决方案中创建一个文本文件,并从中获取路径。以下是本节的简短代码:C# 通过控制台c获取文件路径#,c#,C#,我有一个程序,我想从控制台获取文件路径,例如程序要求我键入文件路径,但问题是我不想写下整个路径。我想使用openfiledialog或在解决方案中创建一个文本文件,并从中获取路径。以下是本节的简短代码: string input; Console.WriteLine("Type path file: "); input = Console.ReadLine(); string readText = File.ReadAllText(input); Tree HuffmanTree = new
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);
我已经在应用程序中创建了一个Text.txt文件,我正在用c#制作控制台应用程序。错误是程序找不到路径名,例如Text.txt,但如果我使用整个路径而不是“输入”,程序会工作。您需要确保.txt文件与正在运行的.exe位于同一目录中 您可以使用以下方法使VisualStudio将其复制到调试位置: 在解决方案资源管理器中单击文件并设置“复制到输出目录”选项
确保路径和内容在字符串前面有@,如@“c:\”以转义任何字符。还要知道,如果文本文件位于EXE旁边,则不需要提供完整路径,只需提供文件名,在本例中,它将是“test.txt” 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";
}
}