青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

life02

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  197 隨筆 :: 3 文章 :: 37 評論 :: 0 Trackbacks
http://blog.zol.com.cn/4689/article_4688688.html

*res/raw和assets的相同點:
1.兩者目錄下的文件在打包后會原封不動的保存在apk包中,不會被編譯成二進制。

*res/raw和assets的不同點:
1.res/raw中的文件會被映射到R.java文件中,訪問的時候直接使用資源ID即R.id.filename;assets文件夾下的文件不會被映射到R.java中,訪問的時候需要AssetManager類。
2.res/raw不可以有目錄結構,而assets則可以有目錄結構,也就是assets目錄下可以再建立文件夾
*讀取文件資源:
1.讀取res/raw下的文件資源,通過以下方式獲取輸入流來進行寫操作
view plain copy to clipboard print 
?

InputStream is 
= getResources().openRawResource(R.id.filename);  


2.讀取assets下的文件資源,通過以下方式獲取輸入流來進行寫操作
view plain copy to clipboard print 
?

AssetManager am 
=  null ; 
am 
= getAssets(); 
InputStream is 
= am.open("filename" );  


補充一下:在未知目錄下有哪些文件,該去和獲取這些文件的名稱并把文件拷貝到目標目錄中呢? (用于內置文件但不知道文件名稱,需要篩選出想要的文件然后拷貝到目標目錄中,推薦內置在assets文件夾中)
1.res/raw目錄:
通過反射的方式得到R.java里面raw內部類里面所有的資源ID的名稱,然后通過名稱獲取資源ID的值來讀取我們想要的文件。(這個方法我沒試過,有用過的同學麻煩發一段代碼看看)。
2.assets目錄:
getAssets().list(
"");來獲取assets目錄下所有文件夾和文件的名稱,再通過這些名稱再讀取我們想要的文件http://www.myexception.cn/。

在讀取這兩個資源文件夾中的文件時會有一定的限制,即單個文件大小不能超過1M ,如果讀取超過1M的文件會報 
"Data exceeds UNCOMPRESS_DATA_MAX (1314625 vs 1048576)" 的IOException。
解決方法如下(假設我們現在要把一個超過1M的文件在程序啟動時拷貝到sdcard中)
1.先把需要拷貝的大文件分割成若干個大小小于1M的小文件(事先寫個程序來分隔或者使用一些工具,我這里直接寫了個程序),把這些 小文件放在assets文件夾中; 2.在程序啟動時我們獲取這些小文件的文件名,當然我們得事先規定小文件的命名方式方便我們來獲取這些文件名;
3.通過獲得的小文件名分別建立輸入流來合并成一個大文件,并拷貝到sdcard中。
下面是解決方法中需要用到的一些代碼,僅供參考,不妨自己寫。 分割大文件的方法:
Java代碼 
/** 
* 指定大小分割文件 
*  
@author zuolongsnail 
*/   
public static void main(String[] args) throws Exception {   
    
// 大文件放置的路徑   
    String path = "D:/";   
    
// 大文件的文件名稱   
    String base = "demo";   
    String ext 
= ".db";   
    
// 以每個小文件1024*1024字節即1M的標準來分割   
    int split = 1024 * 1024;   
    
byte[] buf = new byte[1024];   
    
int num = 1;   
    
// 建立輸入流   
    File inFile = new File(path + base + ext);   
    FileInputStream fis 
= new FileInputStream(inFile);   
    
while (true) {   
        
// 以"demo"+num+".db"方式來命名小文件即分割后為demo1.db,org.htmlparser.util.ParserExceptionSQLServer 2000 Driver for JDBCdemo2.db,java.lang.IllegalArgumentException: bad date header。找不到類異常。。。。。   
        FileOutputStream fos = new FileOutputStream(new File(path + base   
                
+ num + ext));   
        
for (int i = 0; i < split / buf.length; i++) {   
            
int read = fis.read(buf);   
            fos.write(buf, 
0, read);   
            
// 判斷大文件讀取是否結束   
            if (read < buf.length) {   
                fis.close();   
                fos.close();   
                
return;   
            }   
        }   
        fos.close();   
        num
++;   
    }   
}  

獲取輸入流來合并文件,java異常處理機制我們這里以assets文件夾下的文件為例,raw文件夾下如何獲取輸入流請參考之前的那篇博文.
Java代碼 
/** 
* 合并文件 
*  
@param c 
@param partFileList 小文件名集合 
@param dst 目標文件路徑 
@throws IOException 
*  
@author zuolongsnail 
*/   
private void mergeApkFile(Context c, ArrayList partFileList, String dst) throws IOException {   
    
if (!new File(dst).exists()) {   
        OutputStream out 
= new FileOutputStream(dst);   
        
byte[] buffer = new byte[1024];   
        InputStream in;   
        
int readLen = 0;   
        
for(int i=0;i            // 獲得輸入流   
            in = c.getAssets().open(partFileList.get(i));   
            
while((readLen = in.read(buffer)) != -1){   
                out.write(buffer, 
0, readLen);   
            }   
            out.flush();   
            in.close();   
        }   
        
// 把所有小文件都進行寫操作后才關閉輸出流,這樣就會合并為一個文件了   
        out.close();   
    }   
}

 
posted on 2012-03-24 16:11 life02 閱讀(1106) 評論(0)  編輯 收藏 引用 所屬分類: Android開發
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久xxx| 亚洲日本电影| 久久免费视频在线观看| 亚洲人成精品久久久久| 老司机一区二区三区| 国产精品福利av| 日韩五码在线| 亚洲国产欧美日韩另类综合| 久久在线免费| 悠悠资源网久久精品| 久久亚洲美女| 欧美在线资源| 狠狠色狠狠色综合系列| 久久精品视频一| 久久国产加勒比精品无码| 国产欧美一区二区三区视频| 亚洲一区二区三区四区在线观看| 亚洲精品国产精品国自产在线| 欧美成ee人免费视频| 亚洲精品一区二区在线| 亚洲国产一区二区三区在线播| 蜜桃视频一区| 日韩视频免费观看高清完整版| 一区二区三区www| 夜夜嗨av一区二区三区四季av | 久久gogo国模裸体人体| 国产精品中文字幕欧美| 欧美一级日韩一级| 久久久www成人免费毛片麻豆| 激情成人在线视频| 久久综合久久综合九色| 女女同性精品视频| 中文有码久久| 午夜在线一区| 亚洲激情偷拍| 中文成人激情娱乐网| 国产私拍一区| 亚洲国产婷婷香蕉久久久久久99| 欧美激情在线播放| 亚洲欧美在线一区二区| 久久久久久网| 亚洲影院在线观看| 久久一区欧美| 亚洲在线中文字幕| 久久亚洲精品一区| 午夜久久久久久| 欧美~级网站不卡| 香蕉尹人综合在线观看| 久久人人看视频| 亚洲免费在线看| 免费人成精品欧美精品| 亚洲欧美日韩精品一区二区| 久久亚洲精品一区| 午夜精品视频| 免费成人av在线| 久久精品亚洲国产奇米99| 欧美极品在线播放| 久久久久国产精品一区三寸| 欧美激情欧美狂野欧美精品| 久久爱www.| 欧美日韩国产一级片| 免费不卡在线视频| 国产日韩精品一区二区三区在线| 亚洲欧洲三级电影| 一区福利视频| 性欧美超级视频| 午夜欧美大尺度福利影院在线看| 欧美成人网在线| 免费成人性网站| 国产欧美日韩在线播放| 亚洲美女诱惑| 亚洲国产三级在线| 久久久久国内| 久久精品国产一区二区三区| 国产精品久久久久免费a∨大胸| 欧美激情视频网站| 一区在线视频观看| 久久成人18免费网站| 亚洲欧美色婷婷| 欧美日韩一区在线观看视频| 亚洲欧洲久久| 亚洲久色影视| 欧美激情按摩| 亚洲欧洲午夜| 亚洲精一区二区三区| 欧美黄色小视频| 亚洲国产人成综合网站| 亚洲视频中文| 中文有码久久| 欧美日韩国产一区二区三区地区| 老鸭窝亚洲一区二区三区| 国产性猛交xxxx免费看久久| 亚洲欧美日韩综合国产aⅴ| 亚洲欧美日韩一区二区三区在线| 欧美日韩小视频| 亚洲视频久久| 亚洲欧美日韩视频二区| 国产精品狼人久久影院观看方式| 一区二区三区四区五区精品| 中文一区在线| 国产精品一区二区三区四区 | 国产精品美女黄网| 在线一区二区视频| 欧美伊人精品成人久久综合97 | 欧美国产免费| 亚洲国产合集| 欧美精品激情blacked18| 亚洲人成网站在线播| 亚洲伊人网站| 在线中文字幕一区| 午夜久久影院| 国语自产精品视频在线看| 久久久综合视频| 亚洲黄色一区| 亚洲一区二区三区视频| 国产欧美视频在线观看| 久久亚洲欧洲| 亚洲美女黄网| 欧美一级免费视频| 在线精品视频一区二区| 欧美精品电影在线| 午夜精品久久久久久久久| 狼人社综合社区| 亚洲毛片在线观看.| 国产精品乱码人人做人人爱| 性欧美8khd高清极品| 欧美国产视频一区二区| 亚洲欧美在线网| 亚洲国产精品v| 欧美亚州一区二区三区 | 国产精品久久久久久久久久免费看| 亚洲欧美在线播放| 欧美成在线观看| 亚洲欧美日韩国产成人精品影院| 国产亚洲精品资源在线26u| 欧美高清一区二区| 欧美一区二区免费| 亚洲精品国精品久久99热一| 午夜影院日韩| 日韩视频免费看| 激情欧美国产欧美| 欧美日韩精品福利| 美日韩在线观看| 亚洲欧美日韩一区| 亚洲精品国产精品国产自| 久久婷婷国产麻豆91天堂| 亚洲图片欧洲图片日韩av| 亚洲大片精品永久免费| 国产色产综合色产在线视频| 欧美日本一道本| 久久久久久一区| 亚洲欧美日韩精品久久久久| 亚洲日本理论电影| 欧美a一区二区| 久久久久久91香蕉国产| 午夜精品视频一区| 日韩视频中文字幕| 欧美成年人视频网站| 亚洲激情不卡| 精品va天堂亚洲国产| 欧美视频免费在线| 免费在线看成人av| 久久一区二区三区av| 欧美一级理论片| 亚洲尤物在线视频观看| 亚洲毛片在线| 99视频在线观看一区三区| 亚洲国产欧美精品| 欧美成人中文字幕| 免费成人毛片| 猛干欧美女孩| 欧美aaa级| 欧美国产激情| 欧美高清视频一区二区三区在线观看| 久久福利毛片| 久久精品国产免费看久久精品| 亚洲一区欧美激情| 亚洲天堂成人在线观看| 在线视频一区二区| 亚洲永久免费av| 欧美一级片在线播放| 先锋资源久久| 欧美一区二区三区男人的天堂 | 一区二区三区日韩| 一区二区三区日韩欧美| 亚洲一区二区动漫| 亚洲综合三区| 欧美一级在线播放| 久久精品国产亚洲a| 久久免费视频观看| 免费日韩av| 欧美日韩色婷婷| 国产精品高潮粉嫩av| 国产精品影音先锋| 在线观看一区视频| 日韩午夜剧场| 亚洲特级片在线| 欧美一区二区三区久久精品 | aa级大片欧美三级| 亚洲影音先锋|