ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/owl/trunk/tools/SystemCmd.java
Revision: 39
Committed: Tue Mar 21 17:21:54 2006 UTC (18 years, 6 months ago) by filippis
File size: 1976 byte(s)
Log Message:
Adding comments
Line File contents
1 package tools;
2
3 import java.io.*;
4
5 /**
6 * Package: tools
7 * Class: PyMol
8 * Author: Real Gagnon (http://www.rgagnon.com/javadetails/java-0014.html)
9 * Copyright by Ioannis Filippis, filippis@molgen.mpg.de
10 * Date: 03/03/2006
11 *
12 * SystemCmd's static exec method will spawn an external process to execute an external
13 * program or to launch a unix script or just execute a simple linux command.
14 * The output is captured and returned as string.
15 *
16 * Notes:
17 * - There are two versions of the exec method, one taking a String array and one just a String
18 * - If you want to launch a Unix script and especially use the < > | piping options,
19 * you must invoke the command processor
20 * String[] cmd = {"/bin/sh", "-c", "ls > hello"};
21 * SystemCmd.exec(cmd);
22 * - If you need to pass arguments, it's safer to a String array especially if they contain spaces.
23 * String[] cmd = { "myProgram.exe", "-o=This is an option" };
24 * SystemCmd.exec(cmd);
25 *
26 * Changelog:
27 * 14/03/06 Added exec method to take only a string as argument by JD
28 * 03/03/06 first created/copied by IF
29 */
30
31 public class SystemCmd {
32
33 public static String exec(String[] cmd) {
34 String output = "";
35 try {
36 String line = "";
37 Process p = Runtime.getRuntime().exec(cmd);
38 BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
39 while ((line = input.readLine()) != null) {
40 output = output + line + "\n";
41 }
42 input.close();
43
44 } catch (Exception err) {
45 err.printStackTrace();
46 }
47 return output;
48 }
49
50 public static String exec(String cmd) {
51 String output = "";
52 try {
53 String line = "";
54 Process p = Runtime.getRuntime().exec(cmd);
55 BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
56 while ((line = input.readLine()) != null) {
57 output = output + line + "\n";
58 }
59 input.close();
60
61 } catch (Exception err) {
62 err.printStackTrace();
63 }
64 return output;
65 }
66
67
68 }

Properties

Name Value
svn:executable *