java 运行命令行jar怎么读输出,输入指令 RT,要持续永久的。研究了好久就是找不到解决办法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看这两个:java.io.ConsoleSystem.console() 看看这两个:java.lang.ProcessBuilderjava.lang.Process String cmd = "aaa bbb";OutputStream os = new OutputStream(myprocess.getOutputStream());os.write(cmd.getBytes(charset))os.flush();//然后再读取 首先,我运行了一个cmd然后我直接get到了的OutputStream。。 写出命令charset是什么。尝试用了charset.defaultCharset()写出刷新后没用。读的是空的 .getOutputStream()得到的是是用于发送命令的流。in和out是对于本进程来说的。charset是"UTF-8"、"GBK"等等。如果你的命令中没有中文字符,就无所谓了,哪种字符集都可以。 我看错了。.getOutputStream()你用的是对的。charset是"UTF-8"、"GBK"等等。如果你的命令中没有中文字符,就无所谓了,哪种字符集都可以。读的是空的。没源代码没法判断。方法就是这样了。 这是我写来测试的=。=后面那个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");} 后面那个tasklist没取到数据回来=。= 为什么label无法显示? 求助,关于某种技术入门指导 最基础问题! 请教JSP如何从html表单获得复选框参数值 weblogic8.1 为何jsp调不了javabean? Java书籍问题 请回答一个简单问题 static METHOD in ActionLinstener 请问: *.pdg 文件用什么能打开? map不能返回第一行的value 需要一个完成的java操作数据库代码 小伙伴们帮帮忙
java.io.Console
System.console()
java.lang.ProcessBuilder
java.lang.Process
String cmd = "aaa bbb";
OutputStream os = new OutputStream(myprocess.getOutputStream());
os.write(cmd.getBytes(charset))
os.flush();
//然后再读取
然后我直接get到了的OutputStream。。 写出命令
charset是什么。尝试用了charset.defaultCharset()
写出刷新后
没用。读的是空的
.getOutputStream()你用的是对的。charset是"UTF-8"、"GBK"等等。如果你的命令中没有中文字符,就无所谓了,哪种字符集都可以。读的是空的。没源代码没法判断。
方法就是这样了。
后面那个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");
}