当我点击一个按钮时,你知道如何从Visual Studio中的资源打开文件吗? 谢谢。如何从资源打开文件C#
0
A
回答
1
这可以当你的文件是本地文件
string resName = "myfile.txt";
var file = GetResourceStream(resName);
string all = "";
using (var reader = new StreamReader(file))
{
all = reader.ReadToEnd();
}
被用在
static UnmanagedMemoryStream GetResourceStream(string resName)
{
var assembly = Assembly.GetExecutingAssembly();
var strResources = assembly.GetName().Name + ".g.resources";
var rStream = assembly.GetManifestResourceStream(strResources);
var resourceReader = new System.Resources.ResourceReader(rStream);
var items = resourceReader.OfType<System.Collections.DictionaryEntry>();
var stream = items.First(x => (x.Key as string) == resName.ToLower()).Value;
return (UnmanagedMemoryStream)stream;
}
8
你可以使用GetManifestResourceStream方法:
var currentAssembly = Assembly.GetExecutingAssembly();
using (var stream = currentAssembly.GetManifestResourceStream("SomeNs.file.txt"))
using (var reader = new StreamReader(stream))
{
// TODO: read the stream here
string contents = reader.ReadToEnd();
}
在这个例子中file.txt
被嵌入到当前的组件资源。您将不得不调整您尝试阅读的资源的名称。如果嵌入式资源不是文本文件,请勿使用StreamReader
。如果它是一个二进制文件,您将不得不直接读取该流。
+0
+1:这是问题的正确答案。 – quantum
相关问题
- 1. 如何从资源文件
- 2. 从自己的文件资源管理器打开文件
- 3. 使用StreamReader打开资源文件?
- 4. 无法打开文件资源compress.zlib
- 5. 如何打开也是项目资源的PDF文件?
- 6. 我该如何打开资源文件在Android中阅读
- 7. SWT:如何通过选择文件打开资源管理器?
- 8. 如何用rapture-io打开文件资源?
- 9. 资源文件C#
- 10. 如何在系统文件资源管理器中打开文件/文件夹?
- 11. 从VB.NET打开Windows资源管理器:不正确的文件夹打开
- 12. 从C#打开Excel文件#
- 13. 如何从资源管理器中打开文件并复制到目录?
- 14. 如何从资源管理器打开文件到不同的选项卡
- 15. 如何从Eclipse的“打开资源”对话框中隐藏.class文件?
- 16. 从资源文件
- 17. C++无法打开源文件
- 18. 如何从特定的资源文件的字符串资源在C#
- 19. Unity3D无法从网页打开资源
- 20. 从资源文件链接到资源
- 21. .NET:打开文件,嵌入在资源文件中
- 22. 从Visual C++资源文件获取FILEVERSION
- 23. 在资源管理器中打开一个文件夹,如果尚未打开
- 24. 如何从覆盖资源文件
- 25. 如何从资源添加.qss文件
- 26. 如何从资源中获取文件
- 27. 如何从资源中复制文件?
- 28. 如何从JAR文件获取资源
- 29. 如何在Visual C++ 2010中打开资源字符串?
- 30. IOError:无法打开资源
当你点击在Visual Studio中的按钮?或者当你点击键盘上的按钮?或者当你点击页面上的按钮创建ASP.Net?或WinForm上的按钮? (请注意,有些搜索引擎可以节省您的时间 - “从资源加载C#”并不是罕见的搜索请求。广告:您可以使用http://www.bing.com进行搜索)。 –
改变问题的含义并不是真的可以接受。我已经把它回滚到原来的。请不要再这样做。谢谢。 – Kev