Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何列出特定目录下的所有文件(带扩展名和不带扩展名)_Android_File_Fileutils_Hidden Files - Fatal编程技术网

Android 如何列出特定目录下的所有文件(带扩展名和不带扩展名)

Android 如何列出特定目录下的所有文件(带扩展名和不带扩展名),android,file,fileutils,hidden-files,Android,File,Fileutils,Hidden Files,我目前能够获得所有具有特定文件扩展名的文件 private List<String> getListFiles(File parentDir) { ArrayList<String> inFiles = new ArrayList<String>(); File[] files = parentDir.listFiles(); for (File file : files) { if (file.isDirecto

我目前能够获得所有具有特定文件扩展名的文件

private List<String> getListFiles(File parentDir) {

    ArrayList<String> inFiles = new ArrayList<String>();

    File[] files = parentDir.listFiles();

    for (File file : files) {
        if (file.isDirectory()) {

                inFiles.addAll(getListFiles(file));
        }
        else {
            if (file.getName().endsWith(".jpg")||file.getName().endsWith(".jpeg")) {
                inFiles.add(file.getAbsolutePath());
            }


                Log.d("fullpath", "full path is" + file.getAbsolutePath());
            }
    }

    return inFiles;
 }

如何做到这一点?请帮帮我

首先将所有文件路径存储在一个arraylist中,然后尝试以下代码:

 if (arrayList_filenames.size() != 0) {

       for(int count = 0;count<arrayList_filenames.size() !=0){
            String extension = arrayList_filenames.get(count).toString().substring(arrayList_filenames.get(count).toString().lastIndexOf("."));
            Log.d("displayingextension", "****    " + extension);
          }
        }
if(arrayList\u filenames.size()!=0){

对于(int count=0;count首先将所有文件路径存储在一个arraylist中,然后尝试以下代码:

 if (arrayList_filenames.size() != 0) {

       for(int count = 0;count<arrayList_filenames.size() !=0){
            String extension = arrayList_filenames.get(count).toString().substring(arrayList_filenames.get(count).toString().lastIndexOf("."));
            Log.d("displayingextension", "****    " + extension);
          }
        }
if(arrayList\u filenames.size()!=0){

对于(int count=0;count您正在检查代码中的文件扩展名。如果您这样修改代码,您还将获得其他文件

private List<String> getListFiles(File parentDir) {

    ArrayList<String> inFiles = new ArrayList<String>();

    File[] files = parentDir.listFiles();

    for (File file : files) {
        if (file.isDirectory()) {

                inFiles.addAll(getListFiles(file));
        }
        else {
               inFiles.add(file.getAbsolutePath());
        }
    }

    return inFiles;
 }
私有列表getListFiles(文件parentDir){ ArrayList inFiles=新的ArrayList(); File[]files=parentDir.listFiles(); 用于(文件:文件){ if(file.isDirectory()){ addAll(getListFiles(file)); } 否则{ add(file.getAbsolutePath()); } } 返回填充; }
您正在检查代码中的文件扩展名。如果您这样修改代码,您还将获得其他文件

private List<String> getListFiles(File parentDir) {

    ArrayList<String> inFiles = new ArrayList<String>();

    File[] files = parentDir.listFiles();

    for (File file : files) {
        if (file.isDirectory()) {

                inFiles.addAll(getListFiles(file));
        }
        else {
               inFiles.add(file.getAbsolutePath());
        }
    }

    return inFiles;
 }
私有列表getListFiles(文件parentDir){ ArrayList inFiles=新的ArrayList(); File[]files=parentDir.listFiles(); 用于(文件:文件){ if(file.isDirectory()){ addAll(getListFiles(file)); } 否则{ add(file.getAbsolutePath()); } } 返回填充; }
您可以使用此方法

private static void getListFiles(File mInputDir,ArrayList<File> mFilesExt,ArrayList<File> mFilesNoExt) {
    File[] files = mInputDir.listFiles();
    for (File file : files) {
        if (file.isDirectory()) {
            getListFiles(file,mFilesExt,mFilesNoExt);
        }
        else {
            if (file.getName().contains(".")) {
                mFilesExt.add(file);
            }else{
                mFilesNoExt.add(file);
            }
        }
    }
}
private static void getListFiles(文件mInputDir、ArrayList mFilesExt、ArrayList mFilesNoExt){
File[]files=mInputDir.listFiles();
用于(文件:文件){
if(file.isDirectory()){
getListFiles(文件、mFilesExt、MFilesOut);
}
否则{
if(file.getName()包含(“.”){
添加(文件);
}否则{
添加(文件);
}
}
}
}
并使用要扫描的输入目录和带有/不带扩展名的文件数组调用此方法

File mInputDir = new File("/sdcard/Pictures/your_dir");
ArrayList<File> mFilesExt = new ArrayList<>();
ArrayList<File> mFilesNoExt = new ArrayList<>();

getListFiles(mInputDir,mFilesExt,mFilesNoExt);
File mInputDir=新文件(“/sdcard/Pictures/your_dir”);
ArrayList mFilesExt=新的ArrayList();
ArrayList MFilesOut=新的ArrayList();
getListFiles(mInputDir、mFilesExt、mFilesNoExt);

您可以使用此方法

private static void getListFiles(File mInputDir,ArrayList<File> mFilesExt,ArrayList<File> mFilesNoExt) {
    File[] files = mInputDir.listFiles();
    for (File file : files) {
        if (file.isDirectory()) {
            getListFiles(file,mFilesExt,mFilesNoExt);
        }
        else {
            if (file.getName().contains(".")) {
                mFilesExt.add(file);
            }else{
                mFilesNoExt.add(file);
            }
        }
    }
}
private static void getListFiles(文件mInputDir、ArrayList mFilesExt、ArrayList mFilesNoExt){
File[]files=mInputDir.listFiles();
用于(文件:文件){
if(file.isDirectory()){
getListFiles(文件、mFilesExt、MFilesOut);
}
否则{
if(file.getName()包含(“.”){
添加(文件);
}否则{
添加(文件);
}
}
}
}
并使用要扫描的输入目录和带有/不带扩展名的文件数组调用此方法

File mInputDir = new File("/sdcard/Pictures/your_dir");
ArrayList<File> mFilesExt = new ArrayList<>();
ArrayList<File> mFilesNoExt = new ArrayList<>();

getListFiles(mInputDir,mFilesExt,mFilesNoExt);
File mInputDir=新文件(“/sdcard/Pictures/your_dir”);
ArrayList mFilesExt=新的ArrayList();
ArrayList MFilesOut=新的ArrayList();
getListFiles(mInputDir、mFilesExt、mFilesNoExt);

listfiles()不返回父文件夹的所有文件???@SahdevRajput74是的,这是关于listfiles()的问题不返回父文件夹的所有文件???@SahdevRajput74是的,这是关于eah的问题,但如何识别那些没有扩展名的文件?(比如我如何列出JPEG文件)我想单独列出它们。因为我需要对那些没有任何扩展名的文件应用一些操作。扩展名位于点
之后,这很难识别吗?您可以检查文件名是否为
,如
file.getname()。包含(“.”)
clever-answer。我解决了我的问题。谢谢@salman-wahedclover-answer。我也解决了我的问题。谢谢@salman-wahedGreat!如果你接受答案会很好:)是的,但是如何识别那些没有扩展名的文件?(比如我如何列出JPEG文件)我想单独列出它们。因为我需要对那些没有任何扩展名的文件应用一些操作。扩展名位于点
之后,这很难识别吗?您可以检查文件名是否为
,如
file.getname()。包含(“.”)
Clever-answer。我解决了我的问题。谢谢@salman-WahedClever-answer。我也解决了我的问题。谢谢@salman-WahedAnswer!很高兴听到你的回答!如果你接受答案会很好:)这正是我想要的。谢谢@Bhumikt这正是我想要的。谢谢@bhumik