0

我有两个问题。MethodRuntime.getRuntime().exec()获取资源的目录在哪里?

如果我打电话Runtime.getRuntime().exec("notepad.exe"),为什么它会启动 Windows 编辑器?java从哪里获取.exe源?

基于这个问题,我必须让用户选择,如果他想在编辑器中打开文件,他喜欢和想要使用哪些编辑器。notepad.exe他只写或类似的东西ultraedit.exe,选择的文件将在此处写下的编辑器中打开。目前,我正在用这个方法打开一个文件

public void open(String path) {
    try {
        if(new File(path).exists())
            Runtime.getRuntime().exec("notepad.exe " + path);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

如您所见,每个文件都将在记事本中打开。但我需要有这样的东西:

public void open(String program, String path) {
    try {
        if(new File(path).exists())
            Runtime.getRuntime().exec(program + " " + path);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

那么有没有可能通过调用他们的 .exe 文件在不同的编辑器中打开 txt 文件?

4

2 回答 2

1

Runtime.exec()从 获取其信息PATH。在那里找到的任何程序都可以像你展示的那样执行。

于 2012-12-11T11:09:33.390 回答
1
Where does java gets the .exe source from?

它与Java无关。检查PATH操作系统中的环境变量。它具有所有 exe 文件的路径。试试这个

1)打开cmd

2) 类型c:\> echo %PATH%

第二个会告诉你 PATH 变量的值

So is there any possibility to open txt files in different editors, by just calling their .exe file?

是的,编辑 PATH 变量以包含其他编辑器的 exe 文件的路径(使用分号,然后将路径附加到环境中,不要替换现有字符串),并且 java 程序保持不变

于 2012-12-11T11:09:51.543 回答