assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。
assets的读取方式:
1 先在Activity里面调用getAssets() 来获取AssetManager引用。
2 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStreamclose() 。
4调用AssetManagerclose() 关闭AssetManager。
需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的 *** 作
1
// 从sd卡获取资源
private List<String> getImagePathFromSD() {
// 列表
List<String> picList = new ArrayList<String>();
/
// 得到sd卡内路径
String imagePath =
EnvironmentgetExternalStorageDirectory()toString()
+ "/image";
// 得到该路径文件夹下所有的文件
File mfile = new File(imagePath);
File[] files = mfilelistFiles();
// 将所有的文件存入ArrayList中,并过滤所有格式的文件
for (int i = 0; i < fileslength; i++) {
File file = files[i];
if (checkIsImageFile(filegetPath())) {
picListadd(filegetPath());
}
}
// 返回得到的列表
return picList;
}
// 检查扩展名,得到格式的文件
private boolean checkIsImageFile(String fName) {
boolean isImageFile = false;
// 获取扩展名
String FileEnd = fNamesubstring(fNamelastIndexOf("") + 1,
fNamelength())toLowerCase();
if (FileEndequals("jpg") || FileEndequals("gif")
|| FileEndequals("png") || FileEndequals("jpeg")
|| FileEndequals("bmp")) {
isImageFile = true;
} else {
isImageFile = false;
}
return isImageFile;
}
private ArrayList<String> getFileNameList(File path){
ArrayList<String> FileNameList=new ArrayList<String>();
//如果是文件夹的话
if(pathisDirectory()){
//什么也不做
}
//如果是文件的话直接加入
else{
Logi(TAG, pathgetAbsolutePath());
//进行文件的处理
String filePath = pathgetAbsolutePath();
//文件名
String fileName = filePathsubstring(filePathlastIndexOf("/")+1);
//添加
FileNameListadd(fileName);
}
}
}
需要的话直接调用getFileNameList("/sdcard/");就能得到文件名的list了
用下面这种方式能实现查询实现查询sd卡某一个子目录下的文件详细信息 :
//selection: 指定查询条件
String selection = MediaStoreImagesMediaDATA + " like %";
//设定查询目录
String path="/mnt/sdcard/youpicpath";
//定义selectionArgs:
String[] selectionArgs = {path+"%"};
c = thisgetContentResolver()query(MediaStoreImagesMediaEXTERNAL_CONTENT_URI, null,
selection, selectionArgs, null);
其实原理就是改变了下查询语句,在查询条件中增加了MediaStoreImagesMediaDATA字段的限制条件,必须是和指定目录能匹配的才被查询,注意selection和selectionArgs参数是配合使用的。
以上就是关于如何获取android 下的StreamingAssets文件夹中的xml文件全部的内容,包括:如何获取android 下的StreamingAssets文件夹中的xml文件、android 如何代码获取系统文件夹的路径,比如字体的文件路径system/fonts、android获取sdcard下的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)