特定のファイルに対して指定されたプログラムを自動的に開く Java プログラムを作成したい。たとえば、mp4 ファイルを Converter で開いて avi に変換する必要がある
私の質問は次のとおりです。特定のプログラムを使用して Java でファイルを開くことはできますが、デフォルトのプログラムでは開くことはできませんか? はいの場合、どのように?
正確なパスを知っているか、プログラムに既知の環境変数がある限り、それは非常に簡単です:
try
{
Process p = Runtime.getRuntime().exec("notepad Q:/Test/tmp.txt");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
stdInput.close();
}
catch(Exception k)
{
JOptionPane.showMessageDialog(null, k.getMessage());
}
これにより、ファイル tmp がメモ帳で開きます。
Runtime.exec()
メソッドを使用する必要がありますが、 Runtime.exec()が実行されない場合を事前に読む必要があります。実行するプログラムは、開くファイルを表すexecパラメーターを受け入れる必要があります。
これはあなたの質問に対する答えではないことを私は知っていますが、デフォルトのアプリケーション(OSによって登録された)を使用してファイルを開きたい場合は、java.awt.Desktop
クラスの「open」メソッドを使用する必要があります。
Process.exec() を使用して、必要なファイルで必要なプログラムを実行できます
(実際にデフォルトのプログラムを開くのは難しいです)