Java:如何:有效地获取2GB大小的文件大小?
可能重复:
Getting the size of a file in JavaJava:如何:有效地获取2GB大小的文件大小?
我发现下面的链接。
1)The best way to get the file size which greater than 2GB in php?
2)java get file size efficiently
,但我想向您请教如何做到这一点在Java中的家伙。第二个有限制,这就是为什么我认为不适合回答我的问题。
To quote @JeffFoster和@jsight的其他问题,你链接到:
先衡量它 - 它是你在你的具体情况真的很慢?如果它不会引起问题,那么没有关键的问题会发生!
和
获取文件的长度将需要一个系统调用,不管你怎么做。如果它通过网络或其他非常慢的文件系统,速度可能会很慢。没有比File.length()更快的方法来获取它,而这里“慢”的定义只是意味着不要不必要地调用它。
File.length()
是完美的,比使用FileChannel或URL更快。在java get file size efficiently的接受答案中的测试实际上显示了这一点,但在这个答案中的测试结果的解释是错误的(我刚刚在那里添加了一条评论)。
也许你想知道如何获得大于2GB的文件大小,因为int的最大值是2^32?
那么,你知道java.io.File.length()返回一个长 - 而不是一个int?也就是说,它返回一个64位的整数,而不是32位的一个
http://download.oracle.com/javase/6/docs/api/java/io/File.html#length()
什么限制是存在于第二柱?为什么它不适合你的问题? – 2011-06-02 00:44:29
你能告诉为什么java.io.File.length()有一个限制,为什么是第一个链接,甚至在这里只专注于PHP – 2011-06-02 00:48:11