Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试在Android中打开资源文件时出错_Java_Android_Stream_Resources - Fatal编程技术网

Java 尝试在Android中打开资源文件时出错

Java 尝试在Android中打开资源文件时出错,java,android,stream,resources,Java,Android,Stream,Resources,我是Android和Java编程的新手(实际上我是Java编程的新手) 这就是我的问题:我试图从位于“src/main/res/raw/data.dat”的源代码中打开项目的资源文件。这是我当前的代码: try { DataInputStream stm = new DataInputStream(this.getAssets().open("res/raw/data.dat")); Log.d("out",String.valueOf(s

我是Android和Java编程的新手(实际上我是Java编程的新手)

这就是我的问题:我试图从位于“src/main/res/raw/data.dat”的源代码中打开项目的资源文件。这是我当前的代码:

    try
        {
        DataInputStream stm = new DataInputStream(this.getAssets().open("res/raw/data.dat"));
        Log.d("out",String.valueOf(stm.readUnsignedShort()));
        Log.d("out",String.valueOf(stm.readInt()));

        stm.close();

    }catch (Exception ex)
    {
        ex.printStackTrace();
    }
此外,我尝试使用“raw/data.dat”、“data.dat”、“src/main/res/raw/data.dat”和“main/res/raw/data.dat”调用此.getAssets().open()方法,并始终返回相同的错误:

01-23 22:40:40.719  13233-13233/com.rsoft.remotesystem W/System.err﹕ java.io.FileNotFoundException: <file>
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.content.res.AssetManager.openAsset(Native Method)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.content.res.AssetManager.open(AssetManager.java:316)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.content.res.AssetManager.open(AssetManager.java:290)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at com.rsoft.remotesystem.MainActivity.connect(MainActivity.java:50)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:525)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.view.View$1.onClick(View.java:3833)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.view.View.performClick(View.java:4475)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.view.View$PerformClick.run(View.java:18786)
01-23 22:40:40.729  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:730)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:92)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.os.Looper.loop(Looper.java:137)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5419)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:525)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-23 22:40:40.739  13233-13233/com.rsoft.remotesystem W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)
01-23 22:40:40.719 13233-13233/com.rsoft.remotesystem W/System.err﹕ java.io.FileNotFoundException:
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.content.res.AssetManager.openAsset(本机方法)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.content.res.AssetManager.open(AssetManager.java:316)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.content.res.AssetManager.open(AssetManager.java:290)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于com.rsoft.remotesystem.MainActivity.connect(MainActivity.java:50)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于java.lang.reflect.Method.Invokenactive(本机方法)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于java.lang.reflect.Method.invoke(Method.java:525)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 在android.view.view$1.onClick上(view.java:3833)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 在android.view.view.performClick上(view.java:4475)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 在android.view.view$PerformClick.run(view.java:18786)
01-23 22:40:40.729 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.os.Handler.handleCallback(Handler.java:730)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.os.Handler.dispatchMessage(Handler.java:92)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.os.Looper.loop(Looper.java:137)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于android.app.ActivityThread.main(ActivityThread.java:5419)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于java.lang.reflect.Method.Invokenactive(本机方法)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于java.lang.reflect.Method.invoke(Method.java:525)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:1187)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-23 22:40:40.739 13233-13233/com.rsoft.remotesystem W/System.err﹕ 在dalvik.system.NativeStart.main(本机方法)

我该怎么办?

使用
getAssets()
检索的文件不在
/res
文件夹中,而是在
/assets
文件夹中

/res/raw/data.dat
文件移动到
/assets/data.dat
,您应该能够使用
getAssets()
访问您的文件