none
资源文件的使用 RRS feed

  • 问题

  • 我想利用资源文件存入几个文本文件(txt 格式), 在用户界面上,根据用户作出的选择,程序会自动判断,要将哪个文件显示在RichTextBox里。 我只知道在项目里添加资源文件后,再添加文本文件,可是要怎么将这些文本文件读出来呢。 还有,资源文件里是否支持(.bin)格式的文件吗?这个格式的文件能否像.txt文件一样读出吗? 请大家告诉我这个过程。或者给我一个程序代码。 请大家帮帮忙!!!
    2010年5月21日 15:32

答案

全部回复

  • 你好!

         和通常的方式类似,用StreamReader就可以读取了:

    http://www.soidc.net/articles/1213781277395/20060414/1214038748076_1.html

         希望对你有帮助!


    周雪峰
    2010年5月22日 5:54
    版主
  • 我用了上述的方法,但是现在有个问题出在在了StreamReader哪里。说我打开的文件是空的。

    我在Project里添加一个现有文件,将其属性设为“嵌入的资源”(我添加的文件格式是.bin)例如,"myFile.bin".

     在程序代码里, myStream = System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("myFile.bin")
            Dim myStreamReader As New StreamReader(myStream)

    当程序一进入调试状态,就会出错,myStreamReader 读不到数据。 错误提示是 “值不能为空。 参数名: stream". 是不是没有找到文件的所在位置呢。我是将这个代码写在自定义的"类"中。主程序要引用这个类文件。是不是主程序还有将资源文件一起引入呢?

    请帮我看看,我的程序错在哪里了。多谢了!!!

    2010年5月23日 9:31
  • 你好!

         你的资源文件嵌入那个程序集,你的myStream = System.Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("myFile.bin")
            Dim myStreamReader As New StreamReader(myStream)代码也要包括在那个程序集中才可以!


    周雪峰
    2010年5月23日 10:22
    版主
  • 我知道错在哪里了。明白周版主的意思了。我没有说明程序集的位置。多谢了。
    2010年5月23日 13:48