列出SD卡上的所有文本文件

时间:2013-01-17 07:24:38

标签: android android-sdcard

我使用以下代码列出SD卡上的所有文件。但是我只想列出所有文本文件,可以通过一些正文告诉我如何添加文件过滤器。同样我也需要获取图像文件。以下是我的代码:

public ArrayList<String> GetFiles(String DirectoryPath) {
    ArrayList<String> MyFiles = new ArrayList<String>();
    File f = new File(DirectoryPath);

    f.mkdirs();
    File[] files = f.listFiles();
    if (files.length == 0)
        return null;
    else {
        for (int i=0; i<files.length; i++) 
            MyFiles.add(files[i].getName());
    }

    return MyFiles;
}

3 个答案:

答案 0 :(得分:1)

使用 Java String Class 中的.endsWith()方法检查文件路径中的文件扩展名。

方式:

public boolean endsWith(String suffix)

您的代码类似,

private List<String> ReadSDCard()
{
     //It have to be matched with the directory in SDCard
     File f = new File("your path");

     File[] files=f.listFiles();

     for(int i=0; i<files.length; i++)
     {
      File file = files[i];
      /*It's assumed that all file in the path are in supported type*/
      String filePath = file.getPath();
      if(filePath.endsWith(".txt")) // Condition to check .txt file extension
      tFileList.add(filePath);
     }
 return tFileList;
}

答案 1 :(得分:1)

您可以使用FilenameFilter接口将所有TextFiles列入数组的任何相关文件。您可以在此处查看my answer,仅列出SD卡中的图像文件。

答案 2 :(得分:0)

import org.apache.commons.io.FilenameUtils

String extension=FilenameUtils.getExtension(filepath);