Java FileDescriptor:error android.system.ErrnoException:open失败:enoint(没有这样的文件或目录)

Java FileDescriptor:error android.system.ErrnoException:open失败:enoint(没有这样的文件或目录),java,android,Java,Android,我知道这是一个很常见的问题,但是我正在努力获得输出。下面是我的代码: try { FileInputStream fileInputStream = new FileInputStream(new File("/Users/JackPowell/AndroidStudioProjects/Shaker/app/src/main/res/raw/na.mp3")); FileDescriptor fd = fileInputStream.getFD();

我知道这是一个很常见的问题,但是我正在努力获得输出。下面是我的代码:

try {
        FileInputStream fileInputStream = new FileInputStream(new File("/Users/JackPowell/AndroidStudioProjects/Shaker/app/src/main/res/raw/na.mp3"));

        FileDescriptor fd = fileInputStream.getFD();

    }catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

错误显示目录不存在。有人能告诉我怎么了吗?

/Users/JackPowell/AndroidStudioProjects/Shaker/app/src/main/res/raw/na.mp3是OS X机器上文件的路径。好吧,这个星球上没有任何Android设备的根目录下有
/Users
目录

我的猜测是,您正在尝试读取原始资源。在这种情况下,使用
Resources
及其
openRawResource()
方法,传入
R.raw.na
。您可以通过
getResources()

从任何
上下文(例如您的活动)获取
Resources
对象这是我的解决方案:

    AssetFileDescriptor afd = mContext.getResources().openRawResourceFd(R.raw.na);
     try {
        mPlayer.setDataSource(afd.getFileDescriptor());
    } catch (IOException e) {
        e.printStackTrace();
    }
    mPlayer.prepare;
    mPlayer.setOnPreparedListener(this);

嗨,谢谢你的回复。你能给我举一个例子作为将来的参考吗?thanks@JackPowell: