亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中如何讀寫assets目錄中的資源文件

發布時間:2022-04-12 14:12:14 來源:億速云 閱讀:448 作者:iii 欄目:編程語言

這篇文章主要講解了“Android中如何讀寫assets目錄中的資源文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Android中如何讀寫assets目錄中的資源文件”吧!

一、AssetManager讀取文件常用的幾個API

1.文件讀取方式
AssetManager.open(String  filename),返回的是一個InputSteam類型的字節流,這里的filename必須是文件,而不能是文件夾,AssetManager打開 資源文件的open方法是一個重載方法,可以添加一個打開方式的int參數,根據參數不同可做相應操作。
2.資源文件是可以存在文件夾以及子目錄
public final String[]list(String path),返回當前目錄下面的所有文件以及子目錄的名稱。可以通過遞歸遍歷整個文件目錄,實現所有資源文件的訪問。String[]  Array of strings, one for each asset. These file names are relative to  'path'. You can open the file by concatenating 'path' and a name in the  returned string (via File) and passing that to open().

二、相關實現代碼
資源APK(A.apk)

Android中如何讀寫assets目錄中的資源文件

具體實現代碼片段,由于使用系統權限,生成的路徑可以自己改一下B.apk

public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        try {           ctxDealFile = this.createPackageContext("com.zlc.ipanel",                   Context.CONTEXT_IGNORE_SECURITY);        } catch (NameNotFoundException e1) {            // TODO Auto-generated catch block            e1.printStackTrace();        }        btn3.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                 // TODO Auto-generated method stub                try {                     String uiFileName = "ipanelJoin";                     deepFile(ctxDealFile, uiFileName);              } catch (Exception e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                    textView.setText("file is wrong");               }             }       });         // } public void deepFile(Context ctxDealFile, String path) {         try {            String str[] = ctxDealFile.getAssets().list(path);           if (str.length > 0) {//如果是目錄                File file = new File("/data/" + path);               file.mkdirs();               for (String string : str) {                  path = path + "/" + string;                  System.out.println("zhoulc:\t" + path);                   // textView.setText(textView.getText()+"\t"+path+"\t");                    deepFile(ctxDealFile, path);                    path = path.substring(0, path.lastIndexOf('/'));               }            } else {//如果是文件                InputStream is = ctxDealFile.getAssets().open(path);                 FileOutputStream fos = new FileOutputStream(new File("/data/"                       + path));               byte[] buffer = new byte[1024];               int count = 0;                 while (true) {                   count++;                   int len = is.read(buffer);                    if (len == -1) {                       break;                  }                   fos.write(buffer, 0, len);              }              is.close();              fos.close();          }       } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } }

感謝各位的閱讀,以上就是“Android中如何讀寫assets目錄中的資源文件”的內容了,經過本文的學習后,相信大家對Android中如何讀寫assets目錄中的資源文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹰潭市| 临夏市| 邯郸市| 友谊县| 永川市| 进贤县| 哈巴河县| 小金县| 沈阳市| 简阳市| 太保市| 罗山县| 弥渡县| 东丰县| 大石桥市| 洛阳市| 扎囊县| 新闻| 舟曲县| 伊宁市| 延边| 萨迦县| 许昌县| 白玉县| 周口市| 新巴尔虎左旗| 武清区| 囊谦县| 高州市| 诸暨市| 榕江县| 海盐县| 兴业县| 石家庄市| 肇庆市| 沧源| 七台河市| 阳东县| 酉阳| 崇礼县| 绥化市|