android獲取assets目錄
① 如何獲取android assets文件下的mp4
assets文件夾是android程序中存放相關外部文件的一個目錄,Android官方提供了相應的方法去訪問該文件夾中的內容,故此我們並不需要進行相關的路徑判斷等代碼操作,直接調用相關方法打開文件並得到一個位元組輸入流(InputStream);
然後通過相應的字元編碼方式讀取位元組解碼為字元輸入流(InputStreamReader);再通過BufferReader對字元輸入流讀取文本並將字元存入緩沖區以便能提供字元、數組和線段的高效讀取;最後我們就能逐行對文件內容進行讀取了;
public class MainActivity extends Activity {
② Android如何獲取asset目錄下所有文件的路徑
package com.hangcheng.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;
public class GetfilesFromAssets {
private Activity activity;
private String[] files;
public GetfilesFromAssets(Context context) {
this.activity = (Activity) context;
}
// 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();
// }
// }
public String[] getfileFromAssets(String path) {
AssetManager assetManager = activity.getAssets();
// String[] files;
try {
files = assetManager.list(path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return files;
}
public List listHtmlOfAssets() {
List list = new ArrayList();
files = getfileFromAssets("html");
for (int i = 0; i < files.length; i++) {
HashMap map = new HashMap();
map.put("htmlname", files[i]);
list.add(map);
}
return list;
}
}
③ android studio怎麼讀取assets
android studio讀取assets資源,其實適合eclipse一樣的,只需要執行以下代碼:
private String[] names={"songhuiqiao.jpg","zhangzetian.jpg","songqian.jpg","hangxiaozhu.jpg","jingtian.jpg"
,"liuyifei.jpg","kangyikun.jpg","dengziqi.jpg"};
聲明完之後,就可以讀取了,是用下面的代碼完成的
//獲取Assets目錄下的文件
is=context.getClass().getClassLoader().getResourceAsStream("assets/"+names[i]);
下面是我的這邊的截圖:
④ android數據存儲怎麼去讀assets
以流的操作讀取Assets文件,獲取Assets文件夾下的文件內容,teachcourse得到輸入流:
InputStream is=getResources().getAssets().open("msgbean.xml")
例如:讀取一個msgbean.xml文件,然後解析裡面的xml數據
/**
*讀取assets指定的xml文件,返回List
*@paramfileName文件名稱
*@returnList
*/
publicListgetFromAssetsPath(StringfileName){
InputStreamis=null;
AssetManagermanager=getAssets();
try{
is=manager.open("newsbean.xml");
Listlist=NewsService.getNewsBean(is);
Messagemsg=newMessage();
msg.obj=list;
msg.what=0x110;
handler.sendMessage(msg);
returnlist;
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(is!=null)
is.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
returnnull;
}
⑤ 開發Android項目,寫單元測試類時,怎樣讀取assets中的文件
1.
先在Activity裡面調用getAssets()來獲取AssetManager引用。
2.
再用AssetManager的open(String
fileName,
int
accessMode)方法則指定讀取的文件以及訪問模式就能得到輸入流InputStream。
3.
然後就是用已經open
file
的inputStream讀取文件,讀取完成後記得inputStream.close()。
4.調用AssetManager.close()關閉AssetManager。
⑥ 怎麼獲取assets文件夾下的絕對路徑
第一種方法:
String path = "file:///android_asset/文件名";
第二種方法:
InputStream abpath = getClass().getResourceAsStream("/assets/文件名");
若要想要轉換成String類型
String path = new String(InputStreamToByte(abpath ));
private byte[] InputStreamToByte(InputStream is) throws IOException {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = is.read()) != -1) {
bytestream.write(ch);
}
byte imgdata[] = bytestream.toByteArray();
bytestream.close();
return imgdata;
}
⑦ android 讀取Assets下的文件夾
InputStream in = getResources().getAssets().open(fileName); //獲取文件的位元組數 int lenght = in.available();
⑧ android怎麼獲取assets存放到手機內存
1 在設置-應用程序-管理應用程序-點擊要移動的應用程序,然後會有移動到儲存卡或者移動到手機內存的選項,或者在安裝軟體的時候直接選擇安裝到內存卡里,如果你的手機目前沒安裝時選擇的功能,你可以刷機解決 2 你可以安裝360手機衛士到手機上,然後進入360手機衛士,選擇程序管理-軟體搬家 然後移動你想要移動的軟體就可以了 提醒樓主 有些軟體最好是放到手機里的,因為只有放到手機里才可以應用該軟體的窗口小部件或者小工具什麼的,比如天氣軟體 墨跡天氣,天氣通等,你想在手機桌面添加天氣時鍾,就得把該軟體安裝到手機內存里才行 樓主不明白可以繼續追問,如果覺得可以,請採納為滿意回答
⑨ android下怎麼獲取res資源文件夾的路徑
android無法獲取res資源文件夾路徑,只能通過系統提供的封裝函數訪問。
資源文件夾有:
/res/drawable
,通過getresources()訪問
/res/values
,通過getresources()訪問
/res/layout,通過getresources()訪問
/res/xml,通過getresources()訪問
/res/raw,通過getresources()訪問
/assets,通過getassets()訪問
⑩ Android讀取assets目錄下的視屏資源
在Android
應用中使用assets目錄下存放的
資源文件
,assets目錄下存放的資源代表應用無法直接訪問的原生資源,應用程序通過AssetManager以二進制流的形式來讀取資源。