在我的项目中有一个文件夹,在该文件夹中有文本文件。我想阅读那个文本文件
string FORM_Path = @"C:\Users\...\Desktop\FormData\Login.txt";
bool first = true;
string line;
try
{
using (StreamReader streamReader = File.OpenText(FORM_Path))
{
line = streamReader.ReadLine();
}
}
但我总是收到错误 - 文件不存在。我怎样才能解决文本文件路径中的问题。
答案 0 :(得分:1)
确保将文件的属性设置为将文件复制到输出目录。然后,您可以使用以下行获取文本文件的完整路径:
string FilePath = System.IO.Path.Combine(Application.StartupPath, "FormData\Login.txt");
答案 1 :(得分:0)
您正在尝试提供相对路径而不是物理路径。如果你可以使用asp.net使用Server.MapPath
string FORM_Path = Server.MapPath("~/FormData/Login.txt");
如果文本文件在执行文件夹中,那么您可以使用AppDomain.BaseDirectory
string FORM_Path = AppDomain.CurrentDomain.BaseDirectory + "FormData\\Login.txt";
如果无法使用某个基本路径,那么您可以提供完整的路径。
答案 2 :(得分:0)
您的路径格式不正确。使用@".\FormData\Login.txt"
而不是您拥有的
答案 3 :(得分:0)
避免使用相对路径。而是考虑使用Path class中的方法。
第1步:获取可执行文件的绝对路径
var path = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
第2步:获取工作目录
var dir = Path.GetDirectoryName(path);
第3步:构建新路径
var filePath = Path.Combine(dir , @"FormData\Login.txt");