3 回答
![?](http://img1.sycdn.imooc.com/545850a00001fdd002200220-100-100.jpg)
TA贡献1780条经验 获得超4个赞
我不确定“系统编辑器”是什么,但如果它是您要打开的特定应用程序,则需要运行该应用程序并将日志文件名作为参数传递。
您需要确定应用程序的路径,然后才能使用该Runtime.getRuntime().exec()
方法打开文件。
例如,如果您想使用记事本打开日志文件,您可以这样做:
Runtime.getRuntime().exec("C:\\Windows\\System32\\notepad.exe error.log.1");
当然,这假设应用程序接受文件名作为参数。您需要查看此系统编辑器具有哪些命令行语法。
![?](http://img1.sycdn.imooc.com/533e4c5600017c5b02010200-100-100.jpg)
TA贡献1719条经验 获得超6个赞
有两种方法可以处理这个问题:
重命名您的文件,然后按照您的说明打开它;
显式使用命令(编辑器)打开文件;
在第二种情况下,它将是这样的:
private static void openByCommand(String filePath){
try {
Process process = new ProcessBuilder("gedit", filePath)
.directory(new File("/home/hearen")) // set up your working directory;
.start();
int exitCode = process.waitFor();
System.out.println(exitCode);
} catch (IOException | InterruptedException ignored) {
ignored.printStackTrace();
}
}
添加回答
举报