在记事本中以文本文件格式打开资源

Posted

技术标签:

【中文标题】在记事本中以文本文件格式打开资源【英文标题】:Opening Resources in Text File Format in Notepad 【发布时间】:2010-12-31 09:50:50 【问题描述】:

我在使用资源文件时遇到了一些问题。

在我的项目中,我使用了一堆位图文件和两个 txt 文件。位图用作控件的背景,但我想在记事本或写字板中打开 .txt 文件。 到目前为止,我是从我机器上的文件路径访问它们:

ControlName.backgroundimage = New Bitmap(direcorypath & "/Map.bmp")

Process.Start(direcorypath & "/Instrukcje.txt")

而且效果很好。现在我将这些文件添加到我的资源中(将它们放在可执行文件中对我来说很实用) 并将这些行替换为:

ControlName.backgroundimage = New Bitmap(MyProject.My.Resources.Map)

Process.Start(MyProject.My.Resources.Instrukcje)

对于位图它可以正常工作,但对于 txt 文件会发生错误,提示找不到文件。 有趣的是:当我在“Watch”中键入“MyProject.My.Resources.Instrukcje”时,它会显示文件的内容。所以它在那里,只是不作为文件?我想我在这里遗漏了一些东西 我到处搜索是什么东西,但找不到任何有用的东西。我会很高兴找到一些线索。 (对不起,如果不清楚,我的编程技能比我不太好的英语差得多) 谢谢:)

【问题讨论】:

你的英语没问题,Agata。 【参考方案1】:

资源嵌入在您的 .dll 或 .exe 文件中,因此无法使用 Process 类访问。您可以将 .txt 资源写入临时目录并使用 Process 在那里启动临时文件。

附加信息:我已将 .txt 文件添加到 Resource.resx 文件以测试您的问题,纯文本以字符串形式存储在资源文件中。因此,如果您访问 Resources.(InsertYourTextFilesName) 属性,则会返回文本文件中的文本。

如果您可能想知道:二进制文件(例如非纯文本文件)作为字节数组存储在 resource.resx 中,并在编译后的程序集中进行。

【讨论】:

谢谢,Webleeuw,临时文件似乎是个好主意,我会尝试这样做:) 好的!我只是将资源用作普通字符串并将其写入临时文件。一切正常,再次感谢您:)

以上是关于在记事本中以文本文件格式打开资源的主要内容,如果未能解决你的问题,请参考以下文章

用记事本打开csv文件乱码怎么办

csv文件格式问题

记事本里出现该文件含有Unicode格式的字符,当保存为ANSI编码的文本时,该字符将丢失。怎么回事啊??

*.json文件如何打开

MD文件如何打开

打开CSV格式文件时的数字自动转换和乱码问题~~~~急