當我點擊一個按鈕時,你知道如何從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