如何获取命令提示符的输出,这意味着我已经打开了这样的命令提示符。
Process process = Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"C:\\Editor\\editorTemp.exe\"");
我无法获得像这样的cmd输出
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
那么如何获得命令提示符输出?
这不是Java问题。基本上,您正在执行的是Java(Java Main Process A),然后从中启动另一个进程(Windows CMD
B)。很好,您可以在Java(A)中获得此过程(B)的输入/输出流。但是,此过程(B)使用其自己的标准输入/输出启动另一个过程(再次是Windows CMD
C)。该过程与过程A&B没有什么共通之处,并使用Windows的标准输入/输出流。因此,A和C之间没有连接。我不确定,但我认为有一些方法可以使用不同的或非标准的IO运行Windows
CMD。也许这样的事情会起作用:
cmd <tty >tty
但是Windows中没有tty。实用上,您可以按照此处的说明进行操作-
创建具有重定向的输入和输出的子进程,但不适用于常规CMD。
但是,当您从editorTemp.exe(进程D)启动自己的进程时,问题变得更加棘手。D与进程A的连接甚至更多。所有的目的是什么?您不直接从A直接启动进程D并完全控制IO流和进程本身又是什么呢?这是一个很好的例子。
我试图用命令提示符用java编译一个程序。我的程序在eclipse中运行良好,但是,当我试图在命令提示符中编译它时,我收到了一条错误消息。任何帮助和指导都将不胜感激。 triton.java:20:错误:不能dind符号循环Loop=new Loop(); 符号:类循环位置:类Triton trion.java:20:错误:找不到符号循环循环=新循环();sybmol:类循环位置:类Triton
问题内容: 我正在使用JSCH -SSH库在“ shell”通道中执行命令,但找不到找到两种方法的方法: 1)如何查找命令是否在远程unix box上完全执行? 2)如何在String中捕获命令输出,而不是在System.out控制台上打印它? 下面是我的代码片段,可以在system.out上显示shell命令输出 注意:我不想使用“ exec”通道,因为它为每个命令启动一个新进程,并且不记得已导
问题内容: 我有一个很小的数据保存在Redis中,并且以下数据按预期运行,这使我可以下载所有密钥。 有什么方法可以获取键值* 问题答案: 没有命令,但是您可以编写脚本来实现。 您将需要为每个键执行一个“类型”命令: 并根据响应执行: 对于“字符串”: 对于“哈希”: 对于“列表”: 对于“设置”: 对于“ zset”: 请记住,对于散列和排序集,您将获得键/分数和值。
问题内容: 我创建了一个Java项目来调用Web服务。它具有一个Main java文件和另一个class文件。我已经将一些jar文件用于HTTP客户端。 在Eclipse中,它运行良好。我需要通过传递一些参数在命令提示符下运行Java程序。 在命令提示符下,我转到包含主Java和子类Java文件的src文件夹,并给出了以下命令 我收到以下错误 mainjava.java:14:找不到符号 symb
这里的子类是我的另一个java类文件,用于调用web服务。 如何通过传递参数运行程序?
是的,我知道你可能会抱怨说这是件坏事,但我还是想做! 我正在创建一个批处理程序,最后,我需要它挂起,不接受用户输入。我知道一种方法就是创建一个无限循环: 但是我不认为这是一个很好的选择。虽然我需要它挂起来,但我需要能够通过窗口顶部的红色“X”关闭按钮关闭。 有什么想法吗?