在外部sd中找不到文件

时间:2014-04-18 11:26:53

标签: android inputstream android-external-storage

我正在尝试读取我之前保存在外部存储器中的音频文件,但似乎我无法使用我正在使用的方法找到它。

这是我用来保存外部SD卡的文件;

outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp";

这就是我用来取回录制的音频文件的byteArray:

InputStream is =this.openFileInput("/sdcard/ejemplo.3gpp"); 
bytes = IOUtils.toByteArray(is);

出于某种原因,似乎当我调用openFileInput时无法找到该文件,但是使用“Root浏览器”我已经检查过实际上该文件放在“/sdcard/ejemplo.3gpp”中所以我不知道发生了什么......有什么建议吗?

1 个答案:

答案 0 :(得分:2)

/ sdcard /不是默认值。它可以由OEM更改,在某些设备中它是sdcard0因此,在使用它来保存文件时请使用Environment类。

File file = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp");
InputStream is = new FileInputStream(file);
bytes = IOUtils.toByteArray(is);