RT,要持续永久的。研究了好久就是找不到解决办法

解决方案 »

  1.   

    看看这两个:
    java.io.Console
    System.console()
      

  2.   

    看看这两个:
    java.lang.ProcessBuilder
    java.lang.Process
      

  3.   


    String cmd = "aaa bbb";
    OutputStream os = new OutputStream(myprocess.getOutputStream());
    os.write(cmd.getBytes(charset))
    os.flush();
    //然后再读取
      

  4.   

    首先,我运行了一个cmd
    然后我直接get到了的OutputStream。。 写出命令
    charset是什么。尝试用了charset.defaultCharset()
    写出刷新后
    没用。读的是空的
      

  5.   

    .getOutputStream()得到的是是用于发送命令的流。in和out是对于本进程来说的。charset是"UTF-8"、"GBK"等等。如果你的命令中没有中文字符,就无所谓了,哪种字符集都可以。
      

  6.   

    我看错了。
    .getOutputStream()你用的是对的。charset是"UTF-8"、"GBK"等等。如果你的命令中没有中文字符,就无所谓了,哪种字符集都可以。读的是空的。没源代码没法判断。
    方法就是这样了。
      

  7.   

    这是我写来测试的=。=
    后面那个ProcessBuilder builder = new ProcessBuilder("cmd");
    Process proc = builder.start();
    InputStream is = proc.getInputStream();
    BufferedReader d = new BufferedReader(new InputStreamReader(is, "gbk"));while((str = d.readLine()) != null) {
    System.out.print(str + "\n");
    }

    OutputStream os = proc.getOutputStream();
    String cmd = "tasklist";
    os.write(cmd.getBytes());
    os.flush();

    while((str = d.readLine()) != null) {
    System.out.print(str + "\n");
    }
      

  8.   

    后面那个tasklist没取到数据回来=。=