public class ProcessTools extends Object
java.lang.Process API,
but hides away the details of managing threads and process I/O.
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());
| Modifier and Type | Method and Description |
|---|---|
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.
|
public static int exec(String[] args, Reader input, Writer stdout, Writer stderr) throws IOException
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.IOExceptionpublic static int exec(String[] args, String[] envp, File dir, Reader input, Writer stdout, Writer stderr, long timeout) throws IOException, ProcessTimeoutException
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.IOException - if an error occurs while starting or communicating with the processProcessTimeoutException - if the child process was killed because its timeout had expired.public static int exec(String command, Reader input, Writer stdout, Writer stderr) throws IOException
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.IOException - if an error occurs while starting or communicating
with the processpublic static int exec(String command, String[] envp, File dir, Reader input, Writer stdout, Writer stderr, long timeout) throws IOException, ProcessTimeoutException
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.IOException - if an error occurs while starting or communicating
with the processProcessTimeoutException - if the child process was killed because its timeout had expired.Copyright © 2020 BioJava. All rights reserved.