Java プログラミング言語でハード ドライブをマウントおよびアンマウントするにはどうすればよいですか (プラットフォームに依存しないため、ランタイムを使用してハードコードされたコマンドを実行する必要はありません)。
4 に答える
答えは「はい、いいえ」です。各OSにはこれを行うための独自の方法があるため、javaでデバイスをマウントまたはアンマウントできませんでした。しかし...ネイティブインターフェースのアダプターパターンを使用するJava APIを提供できます。次のことを行う必要があります。
- マウント/アンマウント コマンドをサポートする Java インターフェイスを作成する
- インターフェイスをネイティブ メソッドとして実装するクラスを作成する
- このコマンドのネイティブ実装を C または他の言語で作成します。OS (Win、Mac、Linux) の 1 つの実装
- 1つの瓶に詰める
- インターフェイスの実装を提供し、ネイティブ ライブラリをロードする小さなファクトリを構築する
純粋なJavaではありませんが、良い解決策だと思います。クライアント コードは Java を使用します。
これを移植可能に (または同じセマンティクスで) 実行する方法がないため、これを実行するための組み込みの Java メソッドはありません。
「プラットフォームに依存しない」とは、外部プロセスの使用が許可されていないという意味ではありません。アプリが実行されている OS を確認できます。System.getProperty("os.name");
そのメソッドの結果に応じて、正しいプロセスを呼び出すを参照してください。
考えてみてください。Java は、ハード ドライブが存在しないプラットフォームで動作するはずです。
さらに、ハードディスクが利用可能なプラットフォームに限定したとしても、Java はどのようにして RAID / パーティション / スライスなどへのさまざまなアプローチを抽象化するのでしょうか?
なぜこれをしたい/する必要があるのですか?