如何获取android 下的StreamingAssets文件夹中的xml文件

如何获取android 下的StreamingAssets文件夹中的xml文件,第1张

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下的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9792649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存