Java 如果达到存档的最大长度,会发生什么情况?

Java 如果达到存档的最大长度,会发生什么情况?,java,file,Java,File,我正在学习java,我们看到类RandomAccessFile(),文件的长度是long类型(8字节),我想知道如果达到文件的最大大小会发生什么,我需要显式地创建一个新的还是有办法扩展它?在文件“空间”用完之前,计算机内存会用完。你可以看到一个long最多可以代表2^64的数字,这个数字比你的计算机的存储容量大得多。首先,你永远不会达到这个极限(2^63-1),因为JVM不支持它,很可能你的操作系统也不支持它,但是如果您的操作系统支持它,您只需获得带有消息的IOException“Seek fa

我正在学习java,我们看到类
RandomAccessFile()
,文件的长度是
long
类型(8字节),我想知道如果达到文件的最大大小会发生什么,我需要显式地创建一个新的还是有办法扩展它?

在文件“空间”用完之前,计算机内存会用完。你可以看到一个
long
最多可以代表2^64的数字,这个数字比你的计算机的存储容量大得多。

首先,你永远不会达到这个极限(
2^63-1
),因为JVM不支持它,很可能你的操作系统也不支持它,但是如果您的操作系统支持它,您只需获得带有消息的
IOException
“Seek failed”(有关详细信息,请参阅
RandomAccessFile.c

我不知道您在说什么!!我相信你也不知道自己在说什么。您所说的“如果达到文件大小”是什么意思?我忘了说文件大小的最大值是10^19或10000 TB。您知道最大值有多大吗?9223372036854775807字节,或9223372 TB@Jim谁是对的,你还是我?我很困惑:Doops@Sааааааааа是正确的,我一定是把多余的3个零掉在地板上了:-)你不必耗尽计算机内存。只要操作系统和文件系统支持,您就可以创建带有“孔”(查找稀疏文件)的文件,该文件使用的内存不会超过元数据的大小。