5

file.GetFreeSpace()在我的应用程序中使用 Java 的 File 类来确保在传输文件之前有足够的空间。该路径是一个 unc 路径,当前有大约 5TB 的可用空间。但是,运行上述代码时,返回的空间量仅为 713998336 字节(~680MB)。

我将应用程序映射为使用不同的 unc 路径,该路径的可用空间介于 100MB 和 1GB 多一点之间(我正在添加/删除要测试的文件),并且应用程序报告了正确的可用空间量。

更新:通过大量调试,我发现了问题。与此类似的 unc 路径:\\domain6\test\Scratch_Folder\其中 Scratch_Folder 是一个 DFS 命名空间,有大约 5TB 的可用空间。但是,当file.getFreeSpace执行时,它会返回\\domain6\test\只有 670MB 的可用空间。为什么会发生这种情况?

4

2 回答 2

1

我发现了问题!Java 返回的是 DFS 根目录中的可用空间量,而不是 DFS 的实际文件夹(Scratch_Folder 显示为快捷方式)。我找到了一个不包含快捷方式的文件夹的不同、更直接的路径,将应用程序指向那里,现在它按预期工作。

于 2011-06-10T15:55:58.040 回答
0

听起来像是 JVM 中的错误。此功能是 Java 6 的新功能,您可以尝试 Java 6 update 25。当我为具有 9 TB 空闲空间的 UNC 路径运行此功能时,我看到 9 TB。

于 2011-06-08T15:57:54.610 回答