从“资产”文件夹加载大于1M的文件
我要疯了,我创建了一个文件对象,这样就可以用ObjectInputStream读取它,并将资产文件夹放入其中。该方法适用于小于1M的文件,并对较大的文件产生错误。我读到这是Android平台的一个限制,但我也知道这是“很容易”避免的。例如,那些下载了“雷霆”游戏的人可以很容易地看到,在他们的“资产”文件夹中,有一个1890万个文件。这是我从ObjecInputStream读取1个对象的代码
File f = File.createTempFile("mytempfile", "dat");FileOutputStream fos = new FileOutputStream(f);InputStream is = mc.getAssets().open(path,3);ObjectInputStream ois=new ObjectInputStream(is);byte[] data = (byte[]) ois.readObject();fos.write(data);fos.flush();fos.close();ois.close();is.close();
现在我有了一个未压缩的文件,我可以使用它而不用担心错误“这个文件不能作为文件描述符打开,它可能是压缩的”。
这个函数适用于小于1M的文件,较大的文件返回java.io.IOException在线“ObjectInputStream=新的ObjectInputStream(IS)”;
为什么??