org.biojava.utils
Class ProcessTools

java.lang.Object
  extended by org.biojava.utils.ProcessTools

Deprecated. preferable to use org.biojava.utils.ExecRunner or the org.biojava.utils.process package.

public class ProcessTools
extends Object

Convenience methods for running external processes. This class offers wrappers around the java.lang.Process API, but hides away the details of managing threads and process I/O.

Example

 StringWriter out = new StringWriter();
 ProcessTools.exec(
          new String[] {"/usr/bin/wc", "-w"},
          "The quick brown fox jumps over the lazy dog",
          out,
          null
 );
 int numWords = Integer.parseInt(out.toString().trim());
 

Since:
1.4
Author:
Thomas Down, Francois Pepin

Method Summary
static int exec(String[] args, Reader input, Writer stdout, Writer stderr)
          Deprecated. Execute the specified command and wait for it to return.
static int exec(String[] args, String[] envp, File dir, Reader input, Writer stdout, Writer stderr, long timeout)
          Deprecated. Execute the specified command and wait for it to return, or kill it if the specified timeout expires first.
static int exec(String command, Reader input, Writer stdout, Writer stderr)
          Deprecated. Execute the specified command and wait for it to return.
static int exec(String command, String[] envp, File dir, Reader input, Writer stdout, Writer stderr, long timeout)
          Deprecated. Execute the specified command and wait for it to return.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

exec

public static int exec(String[] args,
                       Reader input,
                       Writer stdout,
                       Writer stderr)
                throws IOException
Deprecated. 
Execute the specified command and wait for it to return.

Parameters:
args - the command line to execute.
input - data to present to the process' standard input, or null if the process does not require input.
stdout - a Writer which will be filled with data from the process' output stream, or null to ignore output.
stderr - a Writer which will be filled with data from the process' error stream, or null to ignore output.
Returns:
the process' return code.
Throws:
IOException

exec

public static int exec(String[] args,
                       String[] envp,
                       File dir,
                       Reader input,
                       Writer stdout,
                       Writer stderr,
                       long timeout)
                throws IOException,
                       ProcessTimeoutException
Deprecated. 
Execute the specified command and wait for it to return, or kill it if the specified timeout expires first.

Parameters:
args - the command line to execute.
envp - environment variables for the child process, or null to inherit the current set.
dir - working directory for the child process, or null to inherit the current directory.
input - data to present to the process' standard input, or null if the process does not require input.
stdout - a Writer which will be filled with data from the process' output stream, or null to ignore output.
stderr - a Writer which will be filled with data from the process' error stream, or null to ignore output.
timeout - maximum run-time (in milliseconds) for the child process. A value of 0 indicates no limit.
Returns:
the process' return code.
Throws:
IOException - if an error occurs while starting or communicating with the process
ProcessTimeoutException - if the child process was killed because its timeout had expired.

exec

public static int exec(String command,
                       Reader input,
                       Writer stdout,
                       Writer stderr)
                throws IOException
Deprecated. 
Execute the specified command and wait for it to return. This is the simplified version that tries to be nice and make your life easier. If you know exactly what you want, you might want to use exec(String[],...) instead.

Parameters:
command - the command line to execute.
input - data to present to the process' standard input, or null if the process does not require input.
stdout - a Writer which will be filled with data from the process' output stream, or null to ignore output.
stderr - a Writer which will be filled with data from the process' error stream, or null to ignore output.
Returns:
the process' return code.
Throws:
IOException - if an error occurs while starting or communicating with the process

exec

public static int exec(String command,
                       String[] envp,
                       File dir,
                       Reader input,
                       Writer stdout,
                       Writer stderr,
                       long timeout)
                throws IOException,
                       ProcessTimeoutException
Deprecated. 
Execute the specified command and wait for it to return. This is the simplified version that tries to be nice and make your life easier. If you know exactly what you want, you might want to use exec(String[],...) instead.

Parameters:
command - the command line to execute.
input - data to present to the process' standard input, or null if the process does not require input.
stdout - a Writer which will be filled with data from the process' output stream, or null to ignore output.
stderr - a Writer which will be filled with data from the process' error stream, or null to ignore output.
timeout - maximum run-time (in milliseconds) for the child process. A value of 0 indicates no limit.
Returns:
the process' return code.
Throws:
IOException - if an error occurs while starting or communicating with the process
ProcessTimeoutException - if the child process was killed because its timeout had expired.


Copyright © 2012 BioJava. All Rights Reserved.