Android 从apk扩展文件获取文件列表

Android 从apk扩展文件获取文件列表,android,file-listing,apk-expansion-files,Android,File Listing,Apk Expansion Files,如何获取expension apk文件中特定文件夹的文件列表? 对于我使用的资产: String[] filesList = getAssets().list("some/path"); 但对于APK扩展文件,我只有 getExpansionFile().getAllEntries(); 检索所有文件。 但我需要移动文件夹,例如移动到folder1,显示文件夹中的文件。然后移动到子文件夹1(位于folder1中)并在那里显示文件列表。我不能硬编码,因为文件可能会更改 再说一遍:如何检索apk

如何获取expension apk文件中特定文件夹的文件列表? 对于我使用的资产:

String[] filesList = getAssets().list("some/path");
但对于APK扩展文件,我只有

getExpansionFile().getAllEntries();
检索所有文件。 但我需要移动文件夹,例如移动到folder1,显示文件夹中的文件。然后移动到子文件夹1(位于folder1中)并在那里显示文件列表。我不能硬编码,因为文件可能会更改


再说一遍:如何检索apk expension文件中某个文件夹的文件?

最后,我编写了自己的实现

public class FileStructure {

    public final String pathName;
    // or TreeMap if order matter
    public HashMap<String, FileStructure> files; 

    public FileStructure(String path){
        this.pathName = path;
        files = new HashMap<String, FileStructure>();
    }
}
并使用文件结构类中的

private void addToRoot(String fname, FileStructure root) {
    String[] directories = fname.split(File.separator);
    FileStructure current = root;
    for (int i = 0; i < directories.length; i++) {
        if (!current.files.containsKey(directories[i])) {
            current.files.put(directories[i], new FileStructure(directories[i]));
        }
        current = current.files.get(directories[i]);
    }
}
private void addToRoot(字符串fname,文件结构根){
String[]directories=fname.split(File.separator);
文件结构电流=根;
对于(int i=0;i

但是,如果有人分享一些更好的解决方案或发现我的实现中的缺陷,我将不胜感激

我也很期待:)
private void addToRoot(String fname, FileStructure root) {
    String[] directories = fname.split(File.separator);
    FileStructure current = root;
    for (int i = 0; i < directories.length; i++) {
        if (!current.files.containsKey(directories[i])) {
            current.files.put(directories[i], new FileStructure(directories[i]));
        }
        current = current.files.get(directories[i]);
    }
}