*
The moose likes I/O and Streams and the fly likes how to execute commands from java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » I/O and Streams
Bookmark "how to execute commands from java" Watch "how to execute commands from java" New topic
Author

how to execute commands from java

suigeneris pegasus
Greenhorn

Joined: May 29, 2007
Posts: 1
hi,
i m trying to execute a CVS command from a java environment. i m writing this code to create a user. for this i m executing this cvs command "cmd /c cvs passwd -r <username> -a <new-username>"
after executing this cmd the command prompt will prompt for a pasword and then after entring the password i have to retype the password for confirmation. the existing code execcutes the command but i don t know how to read the prompt for password.
<code>
import java.io.*;
import java.lang.*;

public class first {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("cmd /c cvs passwd -r gopalakrishnan_k -a ram");
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader OptFromCmd = new BufferedReader(new InputStreamReader(
p.getInputStream()));

BufferedReader fromKeyboard = new BufferedReader(reader);
BufferedReader stdError = new BufferedReader(new InputStreamReader(
p.getErrorStream()));
OutputStream stdOut = p.getOutputStream();
String s;
String pswd = "mahesh";
System.out.println("Success");

int i = 0;

while ((s = OptFromCmd.readLine()) != null) {
//s = OptFromCmd.readLine();
i++;
System.out.println(s);

System.out.println(i);

if (i > 1) {
stdOut.write(pswd.getBytes());
stdOut.flush();
}

}

System.out.println(
"Here is the standard error of the command (if any):\n");

while ((s = stdError.readLine()) != null) {
System.out.println(s);
}

/* Your Password Here */
String password="Password Please";
stdOut.write(password.getBytes());
stdOut.flush();
stdOut.write(password.getBytes());
stdOut.flush();
/* Your Password here */

OptFromCmd.close();
stdError.close();
stdOut.close();
} catch (Exception e) {

e.printStackTrace();
}
}
}

</code>

[o/p]

this program gives the output as
adding the user <username>
password:

now i need to enter the password from java envronment and provide it in the command prompt .
then it prompts for the password again for confirmation so i have to retype the password again
how to acheive this.
[ May 29, 2007: Message edited by: suigeneris pegasus ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: how to execute commands from java
 
Similar Threads
How to connect to an UNIX server from Java application
Problem in executing shell script using JSP
how to execute dos commands using RunTime.getRuntime.exec()
Problem with Process and his OutputStream
Pass Data to outputstream