使用 Android SDK 随机访问文件 > 2GB

2024-04-27

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

RandomAccessFile    BigFile;
BigFile = new RandomAccessFile(sMyFileName, "r");
BigFile.seek(2147483648);
   --> Exception

谢谢你的帮助, 迈克尔


这是异常从本机/IO(系统)层冒出的结果。它与语言/VM 本身的类型大小无关。较低级别的错误是 EOVERFLOW(“对于定义的数据类型,值太大”)。lseek http://linux.die.net/man/2/lseek例如,列出了此错误。

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

Edit:线程位于FAT32 文件大小限制为 2GB http://markmail.org/thread/qv6u64qw4sfwbzkc似乎与 Android 2.x 相关(并包含有关内核构建和/或 IO 库限制的详细信息/提示/假设——共识是“它不起作用”)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Android SDK 随机访问文件 > 2GB 的相关文章

随机推荐