Calling python function from java . NEED HELP URGENT
Geetu Kumari
Greenhorn
Joined: Mar 10, 2008
Posts: 5
posted
0
Hi
I want to call python function from java Class OR execute python file from java Class
if possible Please explain me with piece of code urgently .......
Thanks in advance,
Geeta
I tried for this ... but it not giving any error and not executing also .....
public class MyJavaClass
{
public static void main(String[] args)
{
try
{
System.out.println("start");
String file = "/home/geeta/Install/newEclipse/NoCrashPlease/testWebProject/src/pythonPrograms/test.py" ;
Process p =Runtime.getRuntime().exec("chmod -R 777 " + file);
p.waitFor();
p = Runtime.getRuntime().exec("python " +file);
p.waitFor();
System.out.println("end........................");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
/* test.py contain */
print 'SUCCESS'
Ulf Dittmer
Marshal
Joined: Mar 22, 2005
Posts: 35252
7
posted
0
Instead of Runtime.exec(String) I'd recommend to use Runtime.exec(String[]). This and other tips on using Runtime.exec -like dealing with the process's streams- are explained in detail in the article "When Runtime.exec() doesn't" by Daconta (which is really required reading when using it).
I think it's spelt "When Runtime.exec() won't", but as Ulf has said, you need to find it with Google and read it. It is a little easier now the ProcessBuilder class has been introduced, but only slightly easier. And don't go saying your request is urgent.
This question is too difficult for the beginners' forum. Moving.
Ernest Friedman-Hill
author and iconoclast
Marshal