1

I'm trying to make a little java program that executes a system command but I can't seem to figure it out

The question is how does one execute a system command using java?

UPDATE: I read the documentation & tried some examples & I still can't figure it out. Why can't it be simple like in C.

2
  • possible duplicate of How to call System commands from a java program Commented Sep 3, 2011 at 17:36
  • As I said in my answer, for simple cases it is indeed dirt simple. If you're trying to do something more complicated, perhaps you need to explain what that more complicated use case actually is? Commented Sep 3, 2011 at 18:35

4 Answers 4

4

You might want to have a look into the documentation for java.lang.ProcessBuilder. An example is given there.

Sign up to request clarification or add additional context in comments.

Comments

2

Process Builder example

Comments

2

Ultimately, you use the family of exec() methods in the java.lang.Runtime class. There's a class named java.lang.ProcessBuilder which helps in setting up a process to run, although you're not obligated to use it. Be sure to read this classic article on handling the input and output streams, running Windows CMD.EXE builtins, and other potential pitfalls.

Running a command can be as simple as saying

Runtime.exec("notepad");

but as that article points out, there are plenty of subtleties to worry about.

2 Comments

I made a little test: Runtime.exec("ls") and when I compile it gives an error about non-static methods that cannot be referenced from static cont ext
@Samantha Catania Please try Runtime.getRuntime().exec(command);.
1

Apache Commons-Exec is similar to ProcessBuilder, but helps avoid a lot of common problems with the streams, process timeout, platform differences, etcetera. I recommend using that instead of ProcessBuilder.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.