【问题标题】:Open file in Android在安卓中打开文件
【发布时间】:2012-10-31 21:18:05
【问题描述】:

我正在使用下面的代码从 sd 卡中浏览和选择文件。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivityForResult(intent,PICKFILE_RESULT_CODE);

当用户选择一个文件时,我正在使用这行代码获取它的路径

String picturePath = data.getData().getPath();

但是当我尝试使用下面的代码打开这个文件时,我得到了 file not found 异常

InputStream inputStream = getContentResolver().openInputStream( Uri.fromFile(new File(picturePath)));

我将其作为所选文件的路径

/external/images/media/36

我如何在安卓中做到这一点?

谢谢

【问题讨论】:

  • 你用什么版本的android来测试?
  • 该路径有些奇怪,它缺少文件扩展名。看起来您正在选择一个图像,所以应该有一个文件扩展名。
  • @Marcelo 这是一个内容提供者 URI。它没有错,只是他试图访问它的方式。看我的回答。

标签: java android android-intent android-sdcard android-file


【解决方案1】:

你试过了吗:

InputStream inputStream = getContentResolver().openInputStream(data.getData());

或者,如果您想使用文件:

http://developer.android.com/reference/java/io/FileInputStream.html

请务必使用getAbsolutePath() 而不是getPath()

【讨论】:

  • 嗨,对不起:)。它适用于某些设备,但在旧版本中它仍然返回与上述相同。我正在测试 android 2.2
猜你喜欢
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 2011-08-30
  • 2015-07-10
  • 2011-08-13
  • 2013-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多