5

我想创建一个多平台实用程序来格式化/擦除记忆棒、磁盘等。

在Java中可以做到这一点吗?还是我需要为每个操作系统平台调用本机方法?

4

3 回答 3

4

不是直接的。您将需要调用特定于操作系统的程序来为您完成实际工作。

于 2010-11-21T18:06:55.027 回答
4

它是系统特定的,没有通用的方法来执行此操作。你的选择是

  1. 创建一个 JNI 库以使用系统调用执行此操作
  2. 围绕执行此操作的实用程序编写一个包装类(例如,捕获标准输出并将输入提供给外部进程的标准输入)
  3. 使用特定于操作系统的技术(如前所述)将设备归零
  4. 使用类似fat32-lib的东西来操作特定的文件系统类型。
于 2010-11-21T19:08:02.110 回答
2

在类 unix 系统上,您将能够(仅以 root 身份,最有可能)读取磁盘文件/dev/{h,s}d*并写入您想要的任何字节序列,包括表示 ext3 文件系统的字节序列。

不过,我不知道 Java 中有任何 ext3 库,因此您可能必须自己编写。或者您关心的文件格式的库。

不过,这可能不是您想要的,但您可以接受 :-)

于 2010-11-21T18:26:38.463 回答