Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.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 从资产文件夹中的文件读取不同的数据类型 我有一个文件,我用C++创建,它包含了不同的数据类型的整数和浮点数的混合。_Java_Android_Eclipse - Fatal编程技术网

Java 从资产文件夹中的文件读取不同的数据类型 我有一个文件,我用C++创建,它包含了不同的数据类型的整数和浮点数的混合。

Java 从资产文件夹中的文件读取不同的数据类型 我有一个文件,我用C++创建,它包含了不同的数据类型的整数和浮点数的混合。,java,android,eclipse,Java,Android,Eclipse,我需要读取文件并将数据复制到变量中 我尝试过使用ByteArrayOutputStream,但结果很奇怪 当我使用调试器并将光标悬停在ByteArrayOutputStream对象上时,我可以看到正确的数据以整数和浮点的混合形式显示 但是,当我尝试使用ByteArrayOutputStream.toByteArray访问该数据时,生成的数组只包含整数 我完全走错路了吗 InputStream is; //InputStream inputStream = openFileInput("test.

我需要读取文件并将数据复制到变量中

我尝试过使用ByteArrayOutputStream,但结果很奇怪

当我使用调试器并将光标悬停在ByteArrayOutputStream对象上时,我可以看到正确的数据以整数和浮点的混合形式显示

但是,当我尝试使用ByteArrayOutputStream.toByteArray访问该数据时,生成的数组只包含整数

我完全走错路了吗

InputStream is;
//InputStream inputStream = openFileInput("test.txt");
AssetManager am = context.getAssets();
try {
        is = am.open("lake.ju");
    } catch (IOException e) {
        throw new RuntimeException("Error loading map.");
        //e.printStackTrace();
    }

System.out.println(is);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

int i=0;
 for(int inc=0;inc<=100;++inc)
    {
     try {
        i = is.read();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     byteArrayOutputStream.write(i);
    }
    try {
        is.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我们真的不清楚为什么您希望它能工作,因为您似乎没有试图从流中解析数据类型,而只是将字节从一个流移动到另一个流。您还应该知道,默认的二进制存储格式在系统之间是不可移植的;除非您指定字节级存储详细信息,否则有时您将拥有兼容的生成器和解释器,而有时则不会。啊,我明白了=谢谢克里斯。我对DataInputStream有更好的结果,但我认为你是100%正确的。数据在Android上似乎不可复制,我认为上面的代码是正确的,但我无法从缓冲区中提取数据,我不知道如何做到这一点。在调试器中运行此代码并将光标悬停在byteArrayOutputStream上后,将弹出一个窗口。在底部,我可以看到整数和浮点数的正确组合。因此,数据似乎已从文件中提取并加载到缓冲区中。但我看不出如何将这些单独的元素复制到变量中。任何帮助都会很好。