如果文件位置在c#中未知,如何从文本文件中读取数据?

如果文件位置在c#中未知,如何从文本文件中读取数据?,c#,file,C#,File,这个问题已经在StackOverFlow中提出,答案也在那篇文章中标出。但可悲的是,这一解决方案在 无法解决我的问题。 我正在建立一个网站,需要从文本文件读取数据。该文件在我的电脑中的实际位置是:C:\Developments\TestProject\PettyCashSolution\PettyCashWeb\DataFile.txt 从上面的链接尝试了以下解决方案,但没有成功 string sString = string.Empty; string sStr = ""; StreamRea

这个问题已经在StackOverFlow中提出,答案也在那篇文章中标出。但可悲的是,这一解决方案在 无法解决我的问题。
我正在建立一个网站,需要从文本文件读取数据。该文件在我的电脑中的实际位置是:
C:\Developments\TestProject\PettyCashSolution\PettyCashWeb\DataFile.txt
从上面的链接尝试了以下解决方案,但没有成功

string sString = string.Empty;
string sStr = "";
StreamReader oStreamReader;
try
{ 
Try1

sStr = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "DataFile.txt");
返回以下内容:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NET临时文件\pettycashweb\af7f0870\c5ac294a\DataFile.txt

Try2

sStr = Path.Combine(Application.StartupPath, "DataFile.txt");
返回以下内容:
编译错误:“应用程序”名称在当前上下文中不存在

Try3

oStreamReader = new StreamReader(File.OpenRead(Directory.GetCurrentDirectory().ToString() + "\\DataFile.txt"));
返回以下内容:
异常:找不到文件“C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\DataFile.txt”

oStreamReader = new StreamReader(sStr);
sString = oStreamReader.ReadLine();

}
catch (Exception ex)
{
}

还请告知我应该怎么做,以便在服务器(iis)中发布web后,从文本文件读取的数据能够正常工作。谢谢。

您可以通过
AppDomain.CurrentDomain.BaseDirectory

您的代码必须是这样的

sStr=Path.Combine(AppDomain.CurrentDomain.BaseDirectory,“DataFile.txt”)

您可以使用

HttpContext.Current.Request.ApplicationPath

然后根据它添加字符串。

太好了,它可以工作,谢谢。还有一件事,在服务器中托管web之后,这种方法会像现在一样工作吗?是的,当您将代码发布到服务器时,它会工作。欢迎:)