我正在处理数据包分析程序并遇到了一些问题:
我写了一些:
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import javax.swing.JOptionPane;
public class Options extends javax.swing.JFrame {
private void recActionPerformed(java.awt.event.ActionEvent evt) {
if (Desktop.isDesktopSupported()) {
try {
File myFile = new File(
"C:\\Users\\HP\\Documents\\response\\Server_Analyser\\src\\server_analyser\\serverdump\\reader.exe");
Desktop.getDesktop().open(myFile);
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "Sorry cannot find desired file !");
}
}
}
}
答案 0 :(得分:1)
Desktop.getDesktop().open(FILE)
命令仅打开包含关联程序的文件。例如,这可以用于与记事本关联的.txt
文件。由于.exe
没有关联,因为它本身就是一个程序,它不起作用。
要从您的Java代码运行.exe
,您可以使用此命令
Process process = new ProcessBuilder("C:\\Users\\HP\\Documents\\response\\Server_Analyser\\src\\server_analyser\\serverdump\\reader.exe").start();
通过这种方式,您还可以通过Java应用程序控制执行的程序,例如再次关闭它。