如何打印资产文件夹中的所有文件名。

时间:2014-07-30 04:27:44

标签: android

我已经以这种方式存在子文件夹和文件..

如图所示..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

评论

2 个答案:

答案 0 :(得分:2)

你走了 您将在文件列表中包含所有文件及其子文件夹详细信息 enter image description here 看看

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("");