在 Windows 上使用 Java 格式化 USB 驱动器(> 32Gb)的最佳方法是什么?
我尝试使用
format
功能:
Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:FAT32 /Q /X /Y");
但驱动器的大小限制为 32Gb。我的 USB 驱动器大于 100Gb。
我可以使用 JNI 来实现吗?还是会受到 32Gb 的限制?
试试这个:
http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm
这是一个第三方工具,用于格式化超过 32 GB 限制的 FAT32 驱动器。它有命令行和 GUI 模式。
通过 Windows 上的本机 “format” 命令无法超过 FAT32 驱动器的 32 GB 限制。
如果您继续使用
format
,我认为您将无法避免微软对所有基于WinNT的操作系统(Win2K+)上的FAT32施加的32 GB限制:
FAT16 和 FAT32 不能很好地扩展。随着卷变大,文件分配表也变大,这会显着增加 Windows 2000 在系统重新启动时计算启动卷上有多少可用空间所需的时间。
因此,您不能使用格式化实用程序创建大于 32 GB 的 FAT32 卷。但是,Windows 2000 Fastfat 驱动程序使您能够安装并完全支持大于 32 GB 的 FAT32 卷。
您也许可以使用 FAT32 的另一种实现来避免此限制,但我不确定是否存在适用于 Windows 的实现(我没有在谷歌上找到一个)。或者您可以使用 WinNT 之前的 Windows,例如 Windows 98 或 Millenium Edition,但我认为这不是一个好主意。
试试这个,
Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:NTFS /Q /X /Y");
它将解决您的问题..
NTFS
方法#1 如果您的闪存驱动器是 F,请尝试在 CMD 提示符下格式化为 FAT32
format F: /FS:FAT32
方法#2 如果这不起作用,那么只需下载一个像 Guiformat 这样的软件来执行 FAT32 格式(http://ridgecrop.co.uk/index.htm?guiformat.htm)