在Windows上使用Java格式化USB驱动器(> 32Gb)的最佳方法是什么?
我尝试使用format
函数:
Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:FAT32 /Q /X /Y");
但驱动器的大小限制为32Gb。我的USB驱动器大于100Gb。
我可以使用JNI进行,还是限制使用32Gb?
有没有图书馆可以做到?我发现fat32-lib但它似乎不可靠,没有文档。
由于
答案 0 :(得分:1)
如果您继续使用format
,我认为您无法在所有基于WinNT的操作系统(Win2K +)上避免the 32 GB limit that Microsoft imposes on FAT32:
FAT16和FAT32不能很好地扩展。随着卷变大,文件分配表变得更大,这大大增加了Windows 2000在重新启动系统时计算启动卷上可用空间的时间。
因此,您可能无法使用“格式化”实用程序创建大于32 GB的FAT32卷。但是,Windows 2000 Fastfat驱动程序使您可以安装并完全支持大于32 GB的FAT32卷。
您可以使用FAT32的另一种实现来避免此限制,但我不确定Windows是否存在(我没有找到一个谷歌搜索)。或者您可以使用Windows 98或Millenium Edition之类的WinNT之前的Windows,但我认为这不是一个好主意。
答案 1 :(得分:1)
试试这个:
http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm
这是用于格式化超过32 GB限制的FAT32驱动器的第三方工具。它有命令行和GUI模式。
在Windows上通过原生“format”命令无法超过FAT32驱动器的32 GB限制。
答案 2 :(得分:0)
试试这个,
Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:NTFS /Q /X /Y");
它会解决您的问题.. NTFS