我有一个按钮,我想要的是点击该按钮执行一个bat文件后台,该文件会在一个文件夹中生成一个文件,而Java窗口保留在那里。
但在我的代码中,我需要关闭 Java 窗 Eloquent 能执行 bat 文件。
您能帮我看看我哪里需要修改吗?
我不需要看 bat 屏幕。谢谢!
final JButton importMap = new JButton("Import");
importMap.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent arg1) {
//String osm = osmFile_path.replaceAll("\\","\\\\");
System.out.println("You are going to import:"+osmFile_path);
//Runtime.getRuntime().exec()
try {
FileWriter fw2 = new FileWriter("C:\\SUMO\\bin\\OSMTEST.bat");
fw2.write("@echo off");
fw2.write("\r\n");
fw2.write("cmd");
fw2.write("\r\n");
fw2.write("set default_dir=C:\\SUMO\\bin");
fw2.write("\r\n");
fw2.write("start /b C:\\SUMO\\bin\\netconvert --osm-files="+osmFile_path+" --output-file="+osmnet_file);
fw2.close();
Runtime.getRuntime().exec("cmd.exe /C start /b C:\\SUMO\\bin\\OSMTEST.bat");
} catch(IOException e) {
e.printStackTrace();
}
}
});
content.add(importMap);
最佳答案
您不应在 Runtime.getRuntime.exec()
参数中使用 start
参数。它会打开一个新窗口来执行指定的命令。
这应该有效
Runtime.getRuntime().exec("cmd.exe/C C:\\SUMO\\bin\\OSMTEST.bat");
关于Java-单击按钮时执行bat文件,然后关闭Java窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188037/