如何通过netbeans项目执行cmd命令?

时间:2016-12-30 17:54:44

标签: java runtime.exec

目前我正在使用此方法:

import java.io.*;
import com.sun.speech.freetts.*;
import javax.swing.JOptionPane;

public class SO
{
    public void Open(String siteLink)
    {
        try
        {
            Process p = Runtime.getRuntime().exec("cmd /c start "+siteLink);
        }
        catch(Exception e)
        {
            JOptionPane.showMessageDialog(null,"Error"+e);
        }
    }
}

这是我的java类。 在我输入的主框架源中:

SO run = new SO();
run.Open("file:///G:\\Abhijeet\\Videos\\");

这会打开视频文件夹 但是这种方法不会启动.exe文件或Windows应用程序。

我甚至尝试使用' explorer =' ,启动我的电脑,但什么都没发生。

1 个答案:

答案 0 :(得分:0)

我真的不确定你要做什么,但打开网址的首选方式可能是Desktop#browse(文档:https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#browse(java.net.URI)

要启动程序,我会使用Desktop#open(文档:https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#open(java.io.File)

此外,当你在这里时 - 做一些命令行注入的研究。 如果使用任何形式的变量,用户可以轻松地使其执行任何命令。或者您可能会意外地使用导致错误的字符。如果在这种情况下仍然坚持使用Runtime #exec,请参阅带有String []的那个。
那么你最有可能做new String[]{"cmd", "/c", "start", siteLink}