2010-10-08 36 views
3

我看过java.nio.file.attribute.Attributesjava.nio.file.FileStore,但找不到找到磁盘文件块大小的方法。在Java 7中如何可移植地获取文件存储的块大小?

+1

是不是块大小本质上不可移植?如果文件存储不使用块(肯定不太可能,但可能)呢? – 2010-10-08 15:54:34

+2

@Mark绝大多数文件存储都是通过旋转磁盘实现的,因此使用块。我可以处理块大小为一个字节的情况。我想要的是一种便携式的方式来确定这个大小。 – 2010-10-10 18:49:13

回答

0

以下是关于缓冲区大小与I/O吞吐量的article。剧情简介:尼奥为你处理所有这些。这SO post总结你应该使用2的幂。

+1

德文郡,我想要一种方法来确定程序块大小,不依赖于进行实验和解释结果。 – 2010-10-10 19:02:21

+1

我明白。但是,Java中没有任何机制公开了fielsystem首选的IO大小。鉴于此,最佳回退位置是使用可能的倍数,并相信io/nio子系统能够做正确的事情。一般来说,文件系统使用4K,8K或16K的I/O大小。所以,使用其中一种尺寸通常就足够了。 – 2010-10-11 13:41:10