This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
The moose likes Java in General and the fly likes Java execute BAT have no response Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Java execute BAT have no response" Watch "Java execute BAT have no response" New topic

Java execute BAT have no response

niqi li

Joined: Jul 02, 2009
Posts: 3

I am writing a program to execute a .bat to call another java program. The reason is I want to set the JVM heap space to larger. Here's an example I've tried. I am only testing on small files so I haven't put the JVM setting commands in. For now my purpose is to have a copied of the target file when I run the java...

The problem is that when I run the first java to call bat, it only shows the header message, seems it does not run the file properly. The command line hangs and I cannot type any things. By looking at the task panel, I found a new cmd process and java thread is called and I know the code does something, but why this happens? I am quite new to java and hope could have your help. Any ideas what's going on?

Your comments are welcome and appreciate. Thanks indeed.

Here's the code


The bat file, same dir with

and finally the
William Brogden
Author and all-around good cowpoke

Joined: Mar 22, 2000
Posts: 13027
Your code depends on the Process writing all the stdout first, followed by the std err output. The process may be stuck trying to write to stderr first.

To cover all possibilities, you should be starting two Threads, one to read stdout and one to read stderr. As I recall the javadocs for Process talk about this.

I agree. Here's the link:
subject: Java execute BAT have no response
It's not a secret anymore!