中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

磐石市| 博客| 凤阳县| 万载县| 沁水县| 蒙阴县| 凤城市| 成都市| 济宁市| 齐齐哈尔市| 辽中县| 溆浦县| 遵义市| 晋州市| 荔浦县| 安塞县| 临猗县| 鸡东县| 云霄县| 平昌县| 丽江市| 大厂| 忻州市| 新河县| 内丘县| 白城市| 洪江市| 临高县| 弥勒县| 灵宝市| 东辽县| 宕昌县| 北海市| 乌拉特前旗| 迁西县| 马公市| 巨野县| 沁水县| 广丰县| 阿克陶县| 忻城县|