3

如何在 Java 编程语言中安装和卸载硬盘驱动器(独立于平台,因此不使用运行时执行硬编码命令)?

4

4 回答 4

6

答案是“是与否”。您无法在 java 中挂载或卸载设备,因为每个操作系统都有自己的方法来执行此操作。但是...您可以提供将适配器模式用于本机接口的 java api。你应该做一些事情:

  • 创建支持挂载/卸载命令的 Java 接口
  • 创建将接口实现为本机方法的类
  • 用 C 或其他语言创建此命令的本机实现。一种操作系统的实现(Win、Mac、Linux)
  • 把它装进一个罐子里
  • 建立提供接口实现和加载本机库的小型工厂

它不是纯 Java,但我认为它是一个很好的解决方案。客户端代码将使用 java。

于 2011-03-31T20:20:40.343 回答
1

由于没有办法做到这一点可移植(甚至使用相同的语义),因此没有内置的 Java 方法可以做到这一点。

于 2011-03-31T20:08:02.027 回答
1

“平台独立”并不意味着您不允许使用外部进程。您可以检查您的应用程序正在运行的操作系统。请参阅System.getProperty("os.name");根据该方法的结果,调用正确的过程。

于 2011-03-31T20:30:32.470 回答
0

想一想:Java 应该在没有硬盘驱动器的平台上工作,那么如何有一种独立于平台的方式来做到这一点呢?
此外,即使您将其限制在有硬盘可用的平台上,Java 应该如何抽象出 RAID/分区/切片等的不同方法?

你为什么想要/需要这样做?

于 2011-03-31T20:12:02.400 回答