Getting Java to talk to Python, C, C++, and Ruby
The method getOutputStream() on the Process class returns a stream you can write to in Java that connects to the stdin stream of the process. You should be able to read this as you would normally read stdin for each language (e.g., cin for C++, scanf for C, STDIN.read for Ruby, don't know Python!)
If this is what you're doing and it isn't working (your question sounds like it might be but it's hard to tell) could you post some code to make it easier to see what you might be doing wrong?
I have succeeded in getting ProcessBuilder to run external scripts, but I still have to get Java to communicate with the external scripts. I figure that I should get the input/output streams from the process, and use those to send and receive data. I'm having a the most trouble with giving input to the scripts. It seems that I can get output from the scripts by using the script's print function, but I can't seem to get the scripts to register input from the main java program. 
This question involves four languages, so it's fine if you post only the answer regarding one language.