Java Android Mp3文件-打开失败:enoint(没有此类文件或目录)
我不明白为什么我会得到这个例外。目录本身似乎就在那里。我可以在本地播放音乐,但当我尝试这样做时:Java Android Mp3文件-打开失败:enoint(没有此类文件或目录),java,android,Java,Android,我不明白为什么我会得到这个例外。目录本身似乎就在那里。我可以在本地播放音乐,但当我尝试这样做时:FileInputStream-inputStream=newfileinputstream(audioFile)我得到了这个错误:/document/2710:open失败:enoint(没有这样的文件或目录) 这是我的完整代码: @Override public void onActivityResult(int requestCode, int resultCode, Intent data)
FileInputStream-inputStream=newfileinputstream(audioFile)代码>我得到了这个错误:/document/2710:open失败:enoint(没有这样的文件或目录)
这是我的完整代码:
@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());
}
}
}
}
@覆盖
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==0&&resultCode==Activity.RESULT\u确定){
if((data!=null)&&(data.getData()!=null)){
Uri audioFileUri=data.getData();
File File=新文件(audioFileUri.getPath());
//mkdirs()文件;
如果Uri
的方案是文件
,那么这一行充其量也可以工作。在您的情况下,它是内容
使用getContentResolver().openInputStream()
在Uri
标识的内容上打开输入流
。这对文件
和内容
方案都有效。通过编程检查该文件是否存在并且您拥有正确的权限:您在不同帖子中的回答实际上解决了我的问题。我更改了文件输入流输入Stream=newfileinputstream(audioFile);
到InputStream-InputStream=getContentResolver().openInputStream(uri);
现在它就像一个符咒。
File file = new File(audioFileUri.getPath());