0

次のコードでパス(実行する必要があるpythonファイルがある)を呼び出すときに小さな問題があります:

Process p = Runtime.getRuntime().exec(callAndArgs,env,
                    new java.io.File("C:\\Users\\Balkishore\\Documents\\NetBeansProjects\\Testinstrument_Rest\\build\\web"));//excuting python file

上記のコードからわかるように、python ファイルは、java.io.file 関数で指定されたパスを使用して呼び出されます。しかし、それは私のコンピューターでしか実行できないため、非常に特殊です。このコードを任意のコンピューターで実行できるようにするには、どうすれば汎用にできますか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

このファイルがアプリに既に存在する場合は、次のことを行う必要があります

ServletContext.getRealPath("/"); 

これにより、Webルートへのパスが得られます。ここから、ファイルに到達するには相対的に移動する必要があります


これが外部ファイルの場合

中に入れて${user.home}/appname/

String filePath = System.getProperty("user.home")+File.separator+"APP_NAME"

このパスにファイルを配置するか、構成ファイル (.properties、.conf) からパスを読み取るようにユーザーに指示します。

于 2012-06-06T11:42:08.637 に答える
0

Python スクリプトを作業ディレクトリからの相対位置に配置し、相対パスを使用します。または、構成ファイルまたはプロパティを使用してパスを読み取ります。

于 2012-06-06T11:44:14.593 に答える