2017-07-12 6 views
1

jarファイルのソースコードを読んで単語の頻度を抽出したいと思います。 Javaエディタでjarファイルの内容を読むことは可能ですが、Pythonスクリプトを使用して自動的に実行したいと思います。Pythonで.jarファイルのソースコードを読む

+0

jarファイルは単なるzipファイルです。解凍し、関連するファイルを読んでください。 –

+0

それはPythonである必要がありますか?あなたはJythonを使用できませんか? Jythonでは、次のようなことができます:java.lang.ClassLoader.getResourceAsStream( 'jarファイル内のファイルへのパス') –

+0

jarファイルには、ソースコードではなくコンパイル済みのコードが含まれています。 –

答えて

0

特にPythonライブラリが必要ですか? Krakatauは、.jarファイルを逆コンパイルするためのPythonのコマンドラインツールです。おそらくそれをインポートして、スクリプト内から関連する関数を使用することができます。

また、あなたはそれ、またはPythonのSubprocessを使用してProcyon、 などの他のコマンドライン.jar逆コンパイラを呼び出すことができます。

2番目のケースでは、stdoutやstderrをリダイレクトしてキャプチャしたいと考えています。基本的な呼び出しは次のようになります。

import os  
from subprocess import Popen, PIPE 
. 
. 
jar_decompiler_output = Popen(('jar_decompiler', '1stparam', '2ndparam',..), stdout= PIPE).communicate()[0].split(os.linesep) 

communications()returns a tupleに注意してください。