我已经以这种方式存在子文件夹和文件..
如图所示..assest-> www - > js或cs文件夹..然后文件
assest
|
|__www
|
|___js
| |
| |__a.js
|
|____cs
| |
| |__a.css
|
|____index.html
我需要打印所有文件名..我们可以打印文件名
我制作此功能但不起作用..
package com.mobilecem.atms;
import java.io.IOException;
import android.content.Context;
import android.util.Log;
public class GlobalFunction {
public static boolean listAssetFiles(String path,Context context) {
String [] list;
try {
list = context.getAssets().list(path);
if (list.length > 0) {
// This is a folder
for (String file : list) {
if (!listAssetFiles(path + "/" + file, context))
return false;
}
} else {
Log.d("File Name", "file present");
// This is a file
// TODO: add file name to an array list
}
}catch (IOException e) {
return false;
}
return true;
}
}
像那样打电话
GlobalFunction.listAssetFiles("", aaa.this);
结果: 列表有:index.html,a.js,a css
评论
答案 0 :(得分:2)
你走了 您将在文件列表中包含所有文件及其子文件夹详细信息 看看
List<String> files = new ArrayList<String>();
public boolean listAssetFiles(String path, Context context) {
String[] list;
try {
list = context.getAssets().list(path);
if (list.length > 0) {
// This is a folder
for (String file : list) {
String root = TextUtils.isEmpty(path) ? "" : path + "/";
String fullpath = root + file;
files.add(fullpath);
if (!listAssetFiles(root + file, context))
return false;
}
} else {
// This is a file
// TODO: add file name to an array list
}
} catch (IOException e) {
return false;
}
return true;
}
答案 1 :(得分:0)
这完全令人担忧,并且显示文件夹名称我刚刚测试过它
private void listFiles(String dirFrom) throws IOException {
Resources res = getResources(); // if you are in an activity
AssetManager am = res.getAssets();
String[] fileList = am.list(dirFrom);
ArrayList<Drawable> dList = new ArrayList<>();
if (fileList != null) {
for (int i = 0; i < fileList.length; i++) {
Log.d("FOLDER", fileList[i]);
}
}
使用资产文件夹的根文件夹名称调用listAssetFiles。
listAssetFiles("root_folder_name_in_assets");
如果根文件夹是资产文件夹,则使用
调用它 listAssetFiles("");