在VB中使用.txt文件资源

时间:2010-04-18 14:54:27

标签: vb.net visual-studio

现在我有一行代码,在vb中,调用文本文件,如下所示:

Dim fileReader As String
    fileReader = My.Computer.FileSystem.ReadAllText("data5.txt")

data5.txt是我的应用程序中的资源,但是应用程序没有运行,因为它无法找到data5.txt。我很确定还有另一个代码可以在我忽略的资源中查找.txt文件,但我似乎无法弄明白。所以有人知道一个简单的解决方案吗?或者可能是另一个全新的代码行?提前谢谢!

3 个答案:

答案 0 :(得分:18)

如果您在Project + Properties,Resources选项卡中将文件添加为资源,则可以使用My.Resources获取其内容:

Dim content As String = My.Resources.data5

单击“添加资源”按钮上的箭头,然后选择“添加现有文件”,选择data5.txt文件。

答案 1 :(得分:4)

我假设该文件正在编译为嵌入式资源。

嵌入式资源不是文件系统中的文件;该代码不起作用。

您需要拨打Assembly.GetManifestResourceStream,如下所示:

Dim fileText As String
Dim a As Assembly = GetType(SomeClass).Assembly
Using reader As New StreamReader(a.GetManifestResourceStream("MyNamespace.data5.txt"))
    fileText = reader.ReadToEnd()
End Using

答案 2 :(得分:0)

首先,转到项目资源(我的项目->资源),然后将文件“ myfile.txt”从文件系统拖放到资源页面。 然后:

    Imports System.IO
    ...
    Dim stream As New MemoryStream(My.Resources.myfile)
    Dim reader As New StreamReader(stream)
    Dim s As String = reader.ReadToEnd()