• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2006-2011 Christian Plattner. All rights reserved.
3  * Please refer to the LICENSE.txt for licensing details.
4  */
5 import java.io.BufferedReader;
6 import java.io.IOException;
7 import java.io.InputStream;
8 import java.io.InputStreamReader;
9 
10 import ch.ethz.ssh2.Connection;
11 import ch.ethz.ssh2.Session;
12 import ch.ethz.ssh2.StreamGobbler;
13 
14 public class StdoutAndStderr
15 {
main(String[] args)16 	public static void main(String[] args)
17 	{
18 		String hostname = "127.0.0.1";
19 		String username = "joe";
20 		String password = "joespass";
21 
22 		try
23 		{
24 			/* Create a connection instance */
25 
26 			Connection conn = new Connection(hostname);
27 
28 			/* Now connect */
29 
30 			conn.connect();
31 
32 			/* Authenticate */
33 
34 			boolean isAuthenticated = conn.authenticateWithPassword(username, password);
35 
36 			if (isAuthenticated == false)
37 				throw new IOException("Authentication failed.");
38 
39 			/* Create a session */
40 
41 			Session sess = conn.openSession();
42 
43 			sess.execCommand("echo \"Text on STDOUT\"; echo \"Text on STDERR\" >&2");
44 
45 			InputStream stdout = new StreamGobbler(sess.getStdout());
46 			InputStream stderr = new StreamGobbler(sess.getStderr());
47 
48 			BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));
49 			BufferedReader stderrReader = new BufferedReader(new InputStreamReader(stderr));
50 
51 			System.out.println("Here is the output from stdout:");
52 
53 			while (true)
54 			{
55 				String line = stdoutReader.readLine();
56 				if (line == null)
57 					break;
58 				System.out.println(line);
59 			}
60 
61 			System.out.println("Here is the output from stderr:");
62 
63 			while (true)
64 			{
65 				String line = stderrReader.readLine();
66 				if (line == null)
67 					break;
68 				System.out.println(line);
69 			}
70 
71 			/* Close this session */
72 
73 			sess.close();
74 
75 			/* Close the connection */
76 
77 			conn.close();
78 
79 		}
80 		catch (IOException e)
81 		{
82 			e.printStackTrace(System.err);
83 			System.exit(2);
84 		}
85 	}
86 }
87