【问题标题】:android: how can get full path of a file stored in a folder in sdcard?android:如何获取存储在 sdcard 文件夹中的文件的完整路径?
【发布时间】:2013-07-26 21:59:23
【问题描述】:

我在安卓系统中工作。我想获取用户选择的文件的完整路径。我的文件
存储在 sdcard 中。但可能在 SD 卡的文件夹中。

我的 SD 卡中有一些文件夹。我想获取我点击的文件的完整路径。

假设我在 image/birds 文件夹中有一张图片 peacock.png

所以路径是mnt/sdcard/image/birds/peacock.png

请建议我如何获取文件的完整路径。

如果您需要我用来寻求帮助的代码,请告诉我,我会将其发送到这里。

提前谢谢你。

【问题讨论】:

  • 如果您还不知道路径,如何知道要向用户显示哪些文件?
  • 先生,我有一个文件选择器程序,它会显示所有文件和文件夹,然后用户可以轻松选择他想要选择的文件。我应该为这个功能发送我的文件吗?
  • 请查看我的文件以获取文件选择器,这样您就可以轻松地建议我应该怎么做才能让用户选择完整路径。请看这个文件mediafire.com/?c2860mcfb3vf9bf
  • 我在检查您的文件后在下面添加了一个答案。这有帮助吗?

标签: android sd-card android-sdcard


【解决方案1】:

这是来自this 教程的代码 sn-p,它显示了选择文件 Intent 的实现:

    protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
   if (requestCode == PICK_REQUEST_CODE)
   {
   if (resultCode == RESULT_OK)
   {
      Uri uri = intent.getData();
      String type = intent.getType();
      LogHelper.i(TAG,"Pick completed: "+ uri + " "+type);
      if (uri != null)
      {
         String path = uri.toString();
         if (path.toLowerCase().startsWith("file://"))
         {
            // Selected file/directory path is below
            path = (new File(URI.create(path))).getAbsolutePath();
         }

      }
   }
   else LogHelper.i(TAG,"Back from pick with cancel status");
   }
}

如您所见,您的onActivityResult() 方法返回Intent,其中包含文件路径,可以使用intent.getData() 方法提取。然后,您只需使用此路径创建一个 File 对象,并使用 file.getAbsolutePath() 方法获取它的绝对路径。希望这会有所帮助。

【讨论】:

  • 首先,您提供的教程不是有效的网址。你写的代码崩溃了。
【解决方案2】:

如果您的意思是在 onFileClick 中,则传递一个选项。您的 Option 类似乎包含完整路径,因为它被传递到构造函数中,例如:

new Option(ff.getName(),"Folder",ff.getAbsolutePath())

你不能以某种方式获得那个属性吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-15
    • 2016-08-17
    • 2015-12-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2015-01-01
    相关资源
    最近更新 更多