Я схожу с ума, я создал объект файла, чтобы его можно было прочитать с помощью ObjectInputStream, и поместил папку активов.
Метод работает с файлом размером менее 1 МБ и выдает ошибку при работе с большими файлами.
Я читал, что это предел платформы Android, но я также знаю, что этого можно «легко» избежать.
Те, кто скачал игру Reging Thunder, например, могут легко увидеть, что в папке их ресурсов находится файл размером 18,9 МБ.
Это мой код для чтения 1 объекта из ObjecInputStream
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 ois = new ObjectInputStream (is);"
почему ??