使用Java程序我需要运行/打开/编辑任何文件。这应该具有类似于在文件资源管理器中双击文件的效果,并且OS将执行文件(如果它是可执行文件)或在其各自的注册程序中打开/编辑它。
我尝试过Runtime.exec()方法(参见那里),但该方法只运行可执行文件。我需要我的运行任何文件。这包括文本文件,音频文件,图片等。
我尝试了以下内容:
Runtime.getRuntime().exec("README.txt");
答案 0 :(得分:6)
您是否考虑过尝试使用the java.awt.Desktop
class?
例如......
if (Desktop.isDesktopSupported()) {
try {
if (Desktop.getDesktop().isSupported(Desktop.Action.EDIT)) {
Desktop.getDesktop().edit(new File("Readme.txt"));
}
// or...
if (Desktop.getDesktop().isSupported(Desktop.Action.OPEN)) {
Desktop.getDesktop().open(new File("Readme.txt"));
}
} catch (IOException exp) {
exp.printStackTrace();
}
}
这将尝试在OS指定的编辑器中打开/编辑给定文件
的文件