Thanks for reply, but why the message i need comes from err stream?

On May 4, 2010, at 11:40 AM, Keith Alan Richardson wrote:

> You print only the stdout or stderr, depending on the exit code
> 
> Try printing both.
> 
> 
>> On May 4, 2010 6:27 AM, "Haidong Zhu" <[email protected]> wrote:
>> 
>>    Below is my code,if i set the command as "ls ~/" I can get the output of 
>> command ls by reading the input stream from channel.
>> 
>>    if i set the command as "java -version", i can not get any output and the 
>> exitcode is 0.
>> 
>>    command = "ls ~/";
>>    //command = "java -version";
>>    InputStream in = null;
>>    InputStream err = null;
>>    BufferedReader inReader = null;
>>    BufferedReader errReader = null;
>>    try {
>>      JSch jsch = new JSch();
>>      Session session = jsch.getSession(user, host, port);
>>      session.setUserInfo(userInfo);
>>      session.setTimeout(timeout);
>>      session.connect();
>>      Channel channel = session.openChannel("exec");
>>      ((ChannelExec)channel).setCommand(command);
>>      channel.setInputStream(null);
>>      ((ChannelExec)channel).setErrStream(null);
>> 
>>      in = channel.getInputStream();
>>      err = ((ChannelExec)channel).getErrStream();
>> 
>>      channel.connect();
>> 
>>      int exitCode = 0;
>>      while(true) {
>>        if(channel.isClosed()){
>>          exitCode = channel.getExitStatus();
>>          break;
>>        }
>>        try {
>>          Thread.sleep(1000);
>>        } catch (InterruptedException ie) {
>>        }
>>      }
>> 
>>      inReader = new BufferedReader(new InputStreamReader(in));
>>      errReader = new BufferedReader(new InputStreamReader(err));
>> 
>>    if (exitCode != 0) {
>>      while ((s = errReader.readLine()) != null) {
>>        sb.append(s).append("\n");
>>      }
>>      status.setData(sb.toString());
>>    } else {
>>      while ((s = inReader.readLine()) != null) {
>>        sb.append(s).append("\n");
>>      }
>>      System.out.println(sb.toString());
>>    }
>> 
>> 
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> JSch-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/jsch-users
> 

------------------------------------------------------------------------------
_______________________________________________
JSch-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsch-users

Reply via email to