我不明白为什么我会得到这个例外。目录本身似乎就在那里。我可以在本地播放音乐,但是当我尝试这样做时:FileInputStream inputStream = new FileInputStream(audioFile);
我收到此错误:/document/2710: open failed: ENOENT (No such file or directory)
以下是我的完整代码:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == Activity.RESULT_OK){
if ((data != null) && (data.getData() != null)) {
Uri audioFileUri = data.getData();
File file = new File(audioFileUri.getPath());
//file.mkdirs(); <---- Making a directory does not work
try {
FileInputStream inputStream = new FileInputStream(audioFile); //This is where I get the error
}
catch{
Log.i("TAG", e.getMessage());
}
}
}
}
答案 0 :(得分:1)
File file = new File(audioFileUri.getPath());
充其量,如果Uri
的方案为file
,该行可能会有效。在您的情况下,它是content
。
使用getContentResolver().openInputStream()
打开InputStream
标识的内容Uri
。这适用于file
和content
方案。