如何通过java读取ubuntu终端窗口中键入的任何内容?
我想读取终端中写入的任何内容Java类读取它并将其存储在变量中,以便在另一个方法中使用它如何通过java读取ubuntu终端窗口中键入的任何内容?,java,Java,我想读取终端中写入的任何内容Java类读取它并将其存储在变量中,以便在另一个方法中使用它 有人能帮我吗 public class Termainl { public static void main (String args[] ) throws IOException{ String[] cmdArray = {"gnome-terminal","java -classpath /home/r/byz/ Orchestrator"}; try
有人能帮我吗
public class Termainl {
public static void main (String args[] ) throws IOException{
String[] cmdArray = {"gnome-terminal","java -classpath /home/r/byz/ Orchestrator"};
try {
Runtime.getRuntime().exec(cmdArray);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我不认为您可以像这样轻松地获得控制台的输出,但是您可以获得您启动的进程的输出。为什么不直接启动流程并获得其输出呢 您可以尝试以下方法:
try {
Runtime.getRuntime().exec( "java -classpath /home/r/byz/ Orchestrator" );
String line;
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
//<-- Parse data here.
}
input.close();
} catch (Exception err) {
//......
}
试试看{
Runtime.getRuntime().exec(“java-classpath/home/r/byz/Orchestrator”);
弦线;
BufferedReader输入=新的BufferedReader(新的InputStreamReader(p.getInputStream());
而((line=input.readLine())!=null){
//欢迎使用stackoverflow。为了获得一些帮助,您必须向我们展示一些您尝试过的代码以及其中不起作用的代码。公共类Termainl{public static void main(String args[])抛出IOException{String[]cmdArray={“gnome terminal”,“java-classpath/home/r/byz/Orchestrator”};请尝试{Runtime.getRuntime().exec(cmdArray);}catch(IOException e){//TODO自动生成的catch块e.printStackTrace();}}我做了这个,我可以打开终端窗口,我想读写在终端窗口上的任何东西class@medos您应该将该信息添加到问题中,而不是添加到注释中。单击“编辑”
,将代码缩进四个空格,或在一行中加上反勾(`)。请注意,在缩进代码之前必须添加一个空行。你的问题有点夸张。你想从终端窗口运行java应用程序,输出到终端窗口,输入来自终端窗口?还是说你想从java应用程序中运行程序,并捕获该程序的输出?我不明白你的意思你的代码我想得到终端上运行的特定进程的结果和终端上的编号我想在我的类中读取这个编号,并在另一个进程中使用它是可能的还是可能的not@medos此代码读取进程的输出。此输出的每一行都存储在line
字符串变量中,因此您可以获取该行并如有必要,对其进行分析。