Java 执行;system.exe“&引用-获得t";

Java 执行;system.exe“&引用-获得t";,java,windows,command,Java,Windows,Command,请帮助我,我使用了以下java代码: public class ClientApplication { public static void main(String[] args) { String[] commands = new String[] {"system.exe","-get t"}; try{ Runtime rt = Runtime.getRuntime(); Pro

请帮助我,我使用了以下java代码:

public class ClientApplication {    
    public static void main(String[] args) {            
        String[] commands = new String[] {"system.exe","-get t"};    
        try{
        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec(commands);
            BufferedReader stdInput = new BufferedReader(new 
             InputStreamReader(proc.getInputStream()));
            BufferedReader stdError = new BufferedReader(new 
             InputStreamReader(proc.getErrorStream()));
        System.out.println("Here is the standard output of the command:\n");
        String s = null;
        while ((s = stdInput.readLine()) != null) {
            System.out.println(s);
        }
System.out.println("Here is the standard error of the command (if any):\n");
        while ((s = stdError.readLine()) != null) {
            System.out.println(s);
        }
        } catch (Exception e)   {e.setStackTrace(null);}}}
要获取有关系统但检测到异常的信息,请执行以下操作:

线程“main”java.lang.NullPointerException中出现异常


请帮我在windows设备上执行命令。

我不是windows专家,但我的理解是“system.exe”不是windows命令。因此,尝试将其用作这样的命令是行不通的

这并不能解释NPE,但我不相信你给我们的关于NPE发生地点的信息是准确的。但是我可以告诉你,在下面的代码中,NPE不能被抛出到这一行的唯一方法是:

    String[] commands = new String[] {"system.exe","-get t"};    
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(commands);  // THIS LINE
rt
的值不能是
null
命令
变量不是
null
,数组不包含任何
null

简而言之,NPE发生在不同的行,或者您正在运行的代码与您向我们展示的代码不同

不幸的是(从你的角度来看),我没有一台Windows机器可以用来试验你的代码


最后,这是完全错误的:

    } catch (Exception e)   {e.setStackTrace(null);}}}
而且。。。现在我想到了try块中的内容。。。这可能是投掷NPE的真实地点!
setStackTrace
的javadoc说明:

抛出:
NullPointerException
-如果
stackTrace
null
或者
stackTrace
的任何元素为
null


哦,无论如何,在那里设置跟踪是没有意义的。您试图实现什么?

我在windows 7中搜索如何执行命令引发异常的原因是什么?在进程proc=rt.exec(命令)中;lineYou说
NullPointerException
是从
processproc=rt.exec(命令)抛出的。现在你是说不是。所以我再问一次——异常是从哪里抛出的?老兄,一个命令不能为null。变量或对象可以为null。我猜变量
proc
是空的?