国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

從資源文件里加載文件(C#)

2024-07-21 02:26:37
字體:
供稿:網(wǎng)友
1.概述:
 
資源文件很早就有了,在。net時代里這個東西也不算稀奇,在進行多國語言化的時候
通常把不同翻譯的文字存放到資源包里。以前資源文件除了放字符串以外,還可以放文件。不過在c#的工程里面,資源管理面板是空的(vc++工程里資源面板可以使用),無法直接編輯資源屬性,不過每個winform都會帶一個.resx的文件,這個文件就是winform的資源文件。如果通過添加新項目的方法,給工程里添加資源文件的話,產(chǎn)生的也是.resx文件。估計.resx文件是.net給c#新設(shè)計的資源文件格式。.resx以xml格式保存,主要存放字符串。對于文件我還沒有找到添加到.resx的方法,因此我們需要用其它方法把文件打包到資源文件里面。
 
2.資源文件打包
 
       。net除了.resx資源文件格式外,還有一個.resources的資源文件格式。它可以支持把文件的加載,需要做通常的做法如下:
     system.resources.resourcewriter rw = new resourcewriter(@"../../abc.resources");
     rw.addresource("abc", new byte[10000000]);
     rw.generate();
     rw.close();
創(chuàng)建一個resourcewriter的對象用于寫資源文件。文件的后綴名必須是.resources,不讓其它的系統(tǒng)無法識別。然后是通過addresource的方法寫資源信息,這個信息可以是一個字符串,也可以是一個byte數(shù)組,甚至可以是一個對象(image)。添加好以后就是generate和close了。這樣運行程序后,資源文件就制作完成了。
如果不需要把這個資源文件打包到exe程序或者dll程序里面,可以使用system.resources.resourcereader讀取資源文件信息。
 
3.獲取資源文件
 
資源文件打包好以后,下一步是把資源文件集成到項目里。方法有兩個,一個是用控制臺的方式編譯項目,通過加載資源文件的方式把資源加載到exe里,另外一個簡單很多,就是把直接把資源文件加載到工程里,vs會根據(jù)后綴名識別出來加載的文件屬于資源文件,在進行編譯的時候會自動把這個文件打包到資源文件里。如果編譯后發(fā)現(xiàn)資源文件沒有加到exe文件,可以設(shè)置資源文件的屬性,把build action的屬性設(shè)置為embedded resource。
 
資源文件成功加到exe文件后,下一步就是在程序里讀取資源文件。
     system.resources.resourcemanager rm = new system.resources.resourcemanager("resunce.abc", this.gettype().assembly);
     byte[] bit = rm.getobject("abc") as byte[];
 
通常是創(chuàng)建一個resourcemanager的對象,第一個參數(shù)是資源的名字,這里要注意的是“resunce”是編譯的時候,組件(命名空間)名字,“abc”是資源文件的名字。如果前面不是通過vs的工程文件進行編譯,而是通過控制臺方式直接編譯,那么資源的名字不需要帶組件的名字,只是“abc”就可以了。原因嗎,我估計可能是vs在進行編譯的時候,帶了某些參數(shù)(確定了組件名),所以在項目讀取資源文件的時候需要帶組件名。
 
4.資源文件打包工具
在資源文件里加載文件就兩個操作,一個是創(chuàng)建資源文件,一個是讀取資源文件。在創(chuàng)建資源文件的時候如果沒有什么特殊要求,可以通過資源打包工具來創(chuàng)建。在sdk里面的例子程序有一個打包工具,對其進行編譯就可以用了。編譯地址:program files/microsoft visual studio .net 2003/sdk/v1.1/samples/tutorials/resourcesandlocalization/reseditor
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 都安| 越西县| 二连浩特市| 池州市| 育儿| 南乐县| 辽宁省| 离岛区| 罗定市| 阿克| 定陶县| 汽车| 河津市| 岢岚县| 赤城县| 财经| 海安县| 上饶市| 体育| 阿拉善右旗| 宁乡县| 庆云县| 浑源县| 龙胜| 富裕县| 凤冈县| 襄垣县| 公主岭市| 若尔盖县| 芷江| 杭锦后旗| 城市| 雅安市| 诏安县| 长岛县| 丹凤县| 巴东县| 易门县| 房产| 于田县| 长海县|