Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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
随机存取文件>;2GB的Android SDK_Android_File Io - Fatal编程技术网

随机存取文件>;2GB的Android SDK

随机存取文件>;2GB的Android SDK,android,file-io,Android,File Io,谁能告诉我如何使用android SDK随机访问2GB以上的文件。 我试图寻找一个>2147483647的位置,得到了一个异常:“值对于定义的数据类型来说太大”。这很奇怪,因为seek命令的参数类型为“long”。有关详细信息,请参见代码示例: RandomAccessFile BigFile; BigFile = new RandomAccessFile(sMyFileName, "r"); BigFile.seek(2147483648); --> Exception 谢

谁能告诉我如何使用android SDK随机访问2GB以上的文件。 我试图寻找一个>2147483647的位置,得到了一个异常:“值对于定义的数据类型来说太大”。这很奇怪,因为seek命令的参数类型为“long”。有关详细信息,请参见代码示例:

RandomAccessFile    BigFile;
BigFile = new RandomAccessFile(sMyFileName, "r");
BigFile.seek(2147483648);
   --> Exception
谢谢你的帮助,
Michael

这是从本机/IO(系统)层冒出异常的结果。它与语言/VM本身中类型的大小无关。较低级别的错误为EOVERFLOW(“定义数据类型的值变大”),例如,列出此错误

假设:底层系统访问不是64位“感知的”:-)一些真正的JRE历史上也有这个问题,IIRC。不确定安卓系统的故事是什么


编辑:上的线程似乎与Android 2.x相关(并且包含关于内核构建和/或IO库限制的详细信息/提示/假设——共识是“它不起作用”)。

感谢您的回答。事实上,我在寻找解决方案时读了这篇文章。但我希望他们都错了,有一个解决办法但我认为你是对的。底层IO系统似乎没有使用64位。(但lseek64实际上是Android操作系统的一部分——为什么不使用它?)