C#:我如何访问文件,例如。 ProjectFolder / file.txt的?

时间:2010-08-21 12:27:32

标签: c#

我是c#的新手。如果我在ProjectFolder\file.txt中有一个文件,我该如何在代码中访问它。例如。我想用代码读取文件。我记得路径看起来像application://.../file.txt,但我不记得究竟是什么

2 个答案:

答案 0 :(得分:1)

只需将文件的复制到输出目录属性设置为复制如果更新

Screenshot

从输出目录运行程序时,只需从当前目录中打开文件:

string text = File.ReadAllText("file1.txt");

答案 1 :(得分:1)

大多数人的解决方案是指访问文件系统上的文件。但是,您提到了应用程序本地URI,这让我觉得您在谈论嵌入式资源。这些资源不是文件系统上的单独文件。所以,我的帖子的其余部分就是关于那个。

如果要在程序集中包含该文件,则必须更改文件的属性,将BuildAction属性更改为Embedded Resource。

alt text

从那里,您可以使用资源路径访问它,如您所述(请参阅包URI:http://msdn.microsoft.com/en-us/library/aa970069.aspx),或者您可以通过以下方式访问它:

var stream = System.Reflection.Assembly.GetExecutingAssembly()
    .GetManifestResourceStream("ConsoleApplication1.blah.txt");
var reader = new StreamReader(stream);
Console.WriteLine(reader.ReadToEnd());