访问解决方案中的txt文件
本文关键字:txt 文件 解决方案 访问 | 更新日期: 2024-10-19 14:05:58
我正在尝试从文件中读取一些文本
public void loadFromFile(string adress)
{
//int preventReadingEntireFile = 0;
try
{
using (StreamReader sr = new StreamReader(adress))
{
//preventReadingEntireFile++;
String line = sr.ReadToEnd();
Console.WriteLine(preventReadingEntireFile + ": " + line);
/*
* TODO: dodawanie słów do bazy
*/
}
}
catch (Exception e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
但是我不知道如何访问这个文件(路径是什么)。我把它放在我的项目解决方案中的一个folers中。当我使用"/TxtFiles/odm.txt"时,它会在"C:''TxtFiles''odm.txt"中搜索该文件(这是错误的,那里没有任何类似的文件)。
有可能吗?我必须以某种方式使这个文件对我的脚本"可见"吗?
这是ASP.net mvc 5项目。
您必须使用Server.MapPath()
,它将从相对url生成文件的绝对路径,如果TxtFiles目录位于Application:的根目录中,则以下代码将起作用
StreamReader Sr = new StreamReader(Server.MapPath("~/TxtFiles/odm.txt"));
对于您的情况:
string adress = "~/TxtFiles/odm.txt";
StreamReader Sr = new StreamReader(Server.MapPath(adress));
看起来你在Windows上?许多编程语言(或者更确切地说,它们的文件处理库)将起始斜杠'/'Unix样式解释为"从文件系统的根开始",在您的情况下,是C:。试着做"./TxtFiles/odm.txt",用一个初始点-这通常被解释为"从当前目录开始"。
另一种选择是只使用完整路径,"C:''MyProjects''CurrentProject''TxtFiles''odm.txt"。