Runtime.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();
}
}
那么有没有可能通过调用它们来打开不同编辑器中的txt文件 .exe文件?
答案 0 :(得分:1)
Runtime.exec()
从PATH
获取信息。在那里找到的任何程序都可以像你展示的那样执行。
答案 1 :(得分: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程序保持不变