This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes running OS commands in Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Beginning Java
Bookmark "running OS commands in Java" Watch "running OS commands in Java" New topic
Author

running OS commands in Java

nikita sri
Greenhorn

Joined: Dec 29, 2000
Posts: 11
Is there any java API to run OS(operating system) commands and return the output?
This is really urgent. Anybody can help me?
Thanks
John Wetherbie
Rancher

Joined: Apr 05, 2000
Posts: 1449
Take a look at the exec methods of java.lang.Runtime. I used it in one application to send mail via the mail program on a Unix server.
John


The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Look here to see an example.
nikita sri
Greenhorn

Joined: Dec 29, 2000
Posts: 11
I tried the sample code and got an IOException. Can anybody figure out what's the problem with the code?
I am using windows millenium platform.
The code is as follows:
package javaUtilities;
java.io.*;
public class RunOSCommand {
public RunOSCommand() {
}
public static void main(String[] args) {
System.out.println("in the main");
try
{
Runtime r = Runtime.getRuntime();
String cmd = "dir";
Process p = r.exec(cmd);
BufferedReader reader = new BufferedReader(new InputStreamReader(new
DataInputStream( new BufferedInputStream(p.getInputStream()))));
String lineRead =null;
while( (lineRead = reader.readLine() ) != null)
{
System.out.println(lineRead);

}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
java.io.IOException: CreateProcess: dir error=0
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:66)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:551)
at java.lang.Runtime.exec(Runtime.java:418)
at java.lang.Runtime.exec(Runtime.java:361)
at java.lang.Runtime.exec(Runtime.java:325)
at javaUtilities.RunOSCommand.main(RunOSCommand.java:26)
nikita sri
Greenhorn

Joined: Dec 29, 2000
Posts: 11
A small correction.
the import keyword should be included in the 2nd line.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: running OS commands in Java