Java 如何访问内部存储以在ListView中列出所有pdf文件 public ArrayList GetFiles(String DirectoryPath) { ArrayList MyFiles=新建ArrayList(); 文件f=新文件(目录路径); f

Java 如何访问内部存储以在ListView中列出所有pdf文件 public ArrayList GetFiles(String DirectoryPath) { ArrayList MyFiles=新建ArrayList(); 文件f=新文件(目录路径); f,java,android,Java,Android,如何访问内部存储以在ListView中列出所有pdf文件 public ArrayList GetFiles(String DirectoryPath) { ArrayList MyFiles=新建ArrayList(); 文件f=新文件(目录路径); f、 mkdirs(); File[]files=f.listFiles(); 如果(files.length==0)返回null; 否则{ 对于(int i=0;i除您自己的应用程序外,您无权访问其他应用程序的内部存储。它是每个应用程序的专用存

如何访问内部存储以在ListView中列出所有pdf文件
public ArrayList GetFiles(String DirectoryPath)
{
ArrayList MyFiles=新建ArrayList();
文件f=新文件(目录路径);
f、 mkdirs();
File[]files=f.listFiles();
如果(files.length==0)返回null;
否则{

对于(int i=0;i除您自己的应用程序外,您无权访问其他应用程序的内部存储。它是每个应用程序的专用存储。外部存储(设备内部和SD卡)是公共的,任何应用程序都可以访问。为了列出PDF文件,需要枚举您想考虑的文件夹中存在的文件,例如缓存等。没有什么叫做“环境外部存储”。请编辑您的答案,以便我们知道您实际传入的内容method@0X0nosugarenvironment.getExternalStorageDirectory()无法识别(fileDTO)请给出任何建议,我想在内部存储中搜索pdf以查找外部存储我很好,请评论这行
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;
}
public ArrayList<String> searchPdfInExternalStorage(File folder) {
        ArrayList<String> MyFiles = new ArrayList<String>(); 
        if (folder != null) {
            if (folder.listFiles() != null) {
                for (File file : folder.listFiles()) {
                    if (file.isFile()) {
                        //.pdf files
                        if (file.getName().contains(".pdf")) {
                            MyFiles.add(file.getPath());
                            Log.d("filePath-------", "" + file.getPath());
                        }
                    } else {
                        searchPdfInExternalStorage(file);
                    }
                }
            }
        }
    }
searchPdfInExternalStorage(Environment.getExternalStorageDirectory());