2017-05-11 69 views
0

在资产文件夹我有另一个文件夹称为歌曲与.txt文件。我一直试图把所有的.txt文件放在File []中,但我在folder.listFiles()上得到了一个N​​ullPointer。Android Studio listFiles返回null与资产文件夹

下面的代码:

File folder = new File("assets/songs"); 
    File[] listOfFiles = folder.listFiles(); 


    for (int i = 0; i < listOfFiles.length; i++) { 
     File file = listOfFiles[i]; 
     if (file.isFile() && file.getName().endsWith(".txt")) { 
      String content = FileUtils.readFileToString(file); 
      this.list.add(content); 
      System.out.println(content); 
     } 
    } 

    return this.list; 

回答

0

资产是无法在设备上的文件。它们是开发机器上的文件。它们是设备上APK文件内的条目。

使用AssetManager来处理资产,包括its list() method

0

正如先生@CommonsWare提到的,你可以使用AssetManager这样的:

AssetManager assetManager = getAssets(); 
String[] files = assetManager.list(""); 

注意,这是file字符串数组。因此,在迭代之前,不要忘记为数组中的每个元素初始化新文件。

相关问题