aspose file tools*
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


Win a copy of Spring in Action this week in the Spring forum!
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