使用 vb.net 读取 Resources 文件夹中的 txt 文件

Read txt file in Resorces folder using vb.net

我的目标是在 VB.Net 应用程序的 Resources 文件夹中存储一个 txt 文件
我使用“项目”>“项目属性”>“资源”>“添加资源”>“添加现有文件”添加了 Dir.txt 文件。
我可以看到该文件并可以使用非常奇怪的几行代码读取它,这些代码涉及使用硬编码路径。不理想。
我已经包含了一些我测试过但没有结果的代码
我可以使用 OpenFileDialog 但我不想去钓鱼文件!
只需单击一个按钮并在 RichTextBox
中显示文件 因为该项目有一个 SQLite,所以我考虑在数据库创建函数

期间将文件添加到它自己的 table 我的两个问题是
如果我用 Inno Setup 打包时文件在 Resources 文件夹中,文件会在 exe 文件中吗?
我们可以解释一种更好的方法来完成单击按钮并将文件添加到 RichTextBox 吗?

是的,这些都是进口的

Imports System.IO
Imports System.Reflection

  Private Sub btnGetCode_Click(sender As Object, e As EventArgs) Handles btnGetCode.Click
    'Dim openFileDialog As OpenFileDialog = New OpenFileDialog()
    'Dim dr As DialogResult = openFileDialog.ShowDialog()
    'If dr = System.Windows.Forms.DialogResult.OK Then
    '    Dim openPath As String = OpenFileDialog.FileName
    '    rtbViewCode.Text = File.ReadAllText(openPath)
    'End If '' This works but I do not want to go Fishing for the File

    'Why Does this code BELOW FAIL
    'Dim openPath = Path.Combine(Application.StartupPath, "Resource.Dir.txt")
    'rtbViewCode.Text = File.ReadAllText(openPath)

    'Why Does this code BELOW FAIL
    'Dim assmbly As Assembly = Assembly.GetExecutingAssembly()
    'Dim reader As New StreamReader(assmbly.GetManifestResourceStream("frmViewFile.vb.Dir.txt"))
    'rtbViewCode.Text = reader.ReadToEnd


    'While this Code WORKS 
    Dim openP As String = "C:\Users\Dwight\source\repos\TestTwoGrids\TestTwoGrids\Resources\Dir.txt"
    rtbViewCode.Text = File.ReadAllText(openP)

    'End If
End Sub

如果您已经添加了 Dir.txt 资源文件 (Project > Project Properties > Resources > Add Resources > Add Existing File) 并分配了别名,假设 DirTxt

唯一剩下要做的就是将其内容插入到 RichBox 中,如下所示:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    RichTextBox1.Text = My.Resources.DirTxt
End Sub

是的,一旦你编译它,资源就会包含在可执行文件中。

如果对您有帮助,请标记为答案。