2013-07-18 46 views
0

我有C#项目,它有Resources文件夹。这个文件夹有一些txt文件。这些文件有各种文件名。访问资源

我正在从任何源文件名作为字符串变量。例如,我有文件名字符串变量和test.txt文件资源文件夹:

string fileName = "test.txt"; 

当我想访问此文件作为像下面,我可以:

WpfApplication.Properties.test.txt; 

但是,当我想通过此代码访问它,我不能。

WpfApplication.Properties.fileName; 

我想使用fileName字符串变量并访问此文本文件。

我能做些什么来访问它?

在此先感谢。

编辑: 我改变了这个问题的形式: 我已经指派任何文本文件名字符串变量。例如;我有a.txt,b.txt,c.txt,d.txt等。我通过一些循环将这个文件名作为字符串变量(fileName)。所以,我拿了“c.txt”字符串。而且,我可以在下面的代码中访问此文件:

textName = "c.txt"; 
fileName = "../../Resources\\" + textName; 

然而,当我建立这个项目作为安装项目并安装.exe文件到PC,存在于应用程序的文件夹中没有“资源”文件夹中。所以,

../../资源\

不可用。

如何从exe文件的文件夹访问Resources文件夹?

回答

0

您需要将Resource File添加到您的项目中,其扩展名为.resx/.aspx.resx。然后,您将能够双击该文件并编辑所需的资源/资源字符串。要做到这一点右键点击解决方案资源管理器中的项目节点>添加>新项目>资源文件。让我们假设你已经添加了一个名为ResourceStrings.resx文件到文件夹Properties和新增的资源字符串键名MyResourceString,访问这些字符串,你会做

string s = Properties.ResourceStrings.MyResourceString; 

我希望这有助于。

0

我强烈建议你考虑看看:http://msdn.microsoft.com/en-us/library/aa970494.aspx

如果您的文本文件已经生成操作设置为资源,你可以在如下代码找到他们: (假设文件名是文件名及其位于资源文件夹)

Uri uri = new Uri(string.Format("Resources/{0}", fileName), UriKind.Relative); 
System.Windows.Resources.StreamResourceInfo info = Application.GetResourceStream(uri); 

然后你就可以访问info.Stream以访问您的文件。