Which one is better? By better I mean which one has better security, etc. (not ease of use).
ProcessBuilder vs Runtime.exec()
Asked Answered
Ease of use is the only real difference between those two.
Note that ease of use can lead to security by helping to avoid mis-use.
At least on OpenJDK 6 Runtime.exec()
is implemented using ProcessBuilder
:
public Process exec(String[] cmdarray, String[] envp, File dir)
throws IOException {
return new ProcessBuilder(cmdarray)
.environment(envp)
.directory(dir)
.start();
}
Except that
Runtime.exec
has overloads that take command
as a single String
and tokenize it, but in ProcessBuilder
a single String
is handled as a vararg String[1]
-- see #6856528 –
Asel © 2022 - 2024 — McMap. All rights reserved.