【问题标题】:Get filenames from a directory in Android从 Android 中的目录获取文件名
【发布时间】:2012-02-08 18:40:42
【问题描述】:

我想用 SD 卡上具有特定扩展名的文件的文件名填充微调器。到目前为止,我可以用正确的文件填充微调器,但也显示了路径。

谁能告诉我如何只获取 SD 卡目录中特定文件的文件名?

【问题讨论】:

    标签: android list filenames


    【解决方案1】:

    你能否以相反的顺序(从右到左)处理字符串,找到第一个斜线,然后在该点切割字符串并将字符串的最右边部分作为文件名?

    【讨论】:

      【解决方案2】:

      使用文件对象的getName()方法:

      file.getName();
      

      【讨论】:

        【解决方案3】:
        File sdCardRoot = Environment.getExternalStorageDirectory();
        File yourDir = new File(sdCardRoot, "path");
        for (File f : yourDir.listFiles()) {
            if (f.isFile())
                String name = f.getName();
                // Do your stuff
        }
        

        查看Environment页面了解更多信息。

        【讨论】:

        • 有没有办法在 JNI 中做同样的事情?
        • 这段代码给出了 NPE。在下面检查我的答案。这对我有用。顺便说一句,加 1 的答案很好!
        【解决方案4】:

        试试下面的代码

        File sdCard = Environment.getExternalStorageDirectory();
        File dir = new File(sdCard, "yourpath");
        for (File f : dir.listFiles()) {
            if (f.isFile())
                String name = f.getName();
                // do whatever you want with filename
        }
        

        【讨论】:

          【解决方案5】:
          File filePath= new File(File Address);
          File[] fileList = filePath.listFiles();
          String name = fileList [0].getName().toString();
          

          【讨论】:

          • 没有解释就不是很有用,也没有解决具体问题(按名称/扩展名过滤)
          【解决方案6】:

          在我的情况下,以上答案给出了空指针异常。以下代码对我有用:

          File yourDir = new File(Environment.getExternalStorageDirectory().getPath() + "/WhatsApp/Databases");
              for (File f : yourDir.listFiles()) {
                  if (f.isFile())
                      name = f.getName();
                  // Do your stuff
          }
          

          【讨论】:

            猜你喜欢
            • 2011-03-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-10-29
            • 1970-01-01
            • 2017-06-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多