OSを知らなくてもJavaからコマンドラインを起動する方法はありますか?たとえば、このメソッドはLinux OSの場合はターミナルシェルを開き、Windowsの場合はコマンドラインを開きます。
私は(前の質問を見て)OSをチェックしてから適切なコマンドラインを開くことができることを知っていますが、OSに依存しないJavaメソッドからコマンドラインを開く方法はありますか?
OSを知らなくてもJavaからコマンドラインを起動する方法はありますか?たとえば、このメソッドはLinux OSの場合はターミナルシェルを開き、Windowsの場合はコマンドラインを開きます。
私は(前の質問を見て)OSをチェックしてから適切なコマンドラインを開くことができることを知っていますが、OSに依存しないJavaメソッドからコマンドラインを開く方法はありますか?
プラットフォーム間でそれを行う直接または統一された方法はありません。あなたが達成できる一つの方法は
System.getProperty("os.name")
)。例:(ここから抜粋したスニペット)
String OS = System.getProperty("os.name").toLowerCase();
if (isWindows(OS)) {
String path = "c:\\";
Runtime.getRuntime().exec(new String[] { "cmd.exe", "/C", "\"start; cd "+path+"\"" });;
} else if (isMac(OS)) {
//Open Mac Prompt
} else if (isUnix(OS)) {
//Open UnixPrompt
} else if (isSolaris(OS)) {
//Open Solaris Prompt
} else {
System.out.println("Your OS is not support!!");
}
public static boolean isWindows(String OS) {
return (OS.indexOf("win") >= 0);
}
public static boolean isMac(String OS) {
return (OS.indexOf("mac") >= 0);
}
public static boolean isUnix(String OS) {
return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 );
}
public static boolean isSolaris(String OS) {
return (OS.indexOf("sunos") >= 0);
}
別のOSに関連するコードを探してください
注:これは単なるコードスニペットです。そのままではコンパイルされません。
コマンド:
Runtime.getRuntime().exec("command")
すべてのデスクトップ/ラップトップOSプラットフォームで動作します。
Javaを任意のOSにインストールすると、Javaを使用して独自のプログラムを作成するだけです。WindowsのコマンドラインまたはLinuxのターミナルはOSの所有物です。
したがって、Javaにターミナルを直接開くAPIがあったとしても、そのメソッドはオペレーティングシステムも内部的にチェックします。