2017-11-08 12 views
0

Ich muss Ergebnisse von Python ausgeführtem Code in Java verwenden. Ich habe jython jars heruntergeladen. Ich lese unter Teil Code aus dem Internet. Aber die Fehlerreflektor ist Python: kann Datei 'IBM.py' nicht öffnen: [Errno 2] keine solche Datei oder Verzeichnis. Wo sucht es nach der Datei? Meine Datei wird in Pycharm-Projekten erstellt.Fehler beim Aufruf der Python-Datei aus Java-Code und beim Abrufen des Ergebnisses

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class CallPython { 

    /** 
* @param args 
* @throws IOException 
*/ 
public static void main(String[] args) throws IOException { 
    String s = null; 
    // TODO Auto-generated method stub 
    Process p = Runtime.getRuntime().exec("python IBM.py"); 
    System.out.println("ayush"); 
    BufferedReader stdInput = new BufferedReader(new 
      InputStreamReader(p.getInputStream())); 

     BufferedReader stdError = new BufferedReader(new 
      InputStreamReader(p.getErrorStream())); 

     // read the output from the command 
     System.out.println("Here is the standard output of the command:\n"); 
     while ((s = stdInput.readLine()) != null) { 
      System.out.println(s); 
     } 

     // read any errors from the attempted command 
     System.out.println("Here is the standard error of the command (if any):\n"); 
     while ((s = stdError.readLine()) != null) { 
      System.out.println(s); 
     } 
}} 

Antwort

1

Ihre IBM.py Datei im PyCharm Projektordner, und Java-Code wird die IBM.py Datei im Projektordner zu finden, wo der Java-Code ist, ist also, warum es Fehler gibt.

Wenn Sie ein Java-Projekt in einer IDE erstellt haben, kopieren Sie die Datei IBM.py und fügen Sie sie in den Java-Projektordner ein und führen Sie diesen Code aus, damit sie ordnungsgemäß ausgeführt wird. :)

Wenn Sie nur eine CallPython.java-Datei haben und sie nicht im Java-Projekt in einer IDE erstellt haben, fügen Sie IBM.py in den gleichen Ordner ein, in dem CallPython.java vorhanden ist.

+0

danke! obwohl ich das früher erkennen konnte. –

Verwandte Themen