2011-12-29 50 views
0

私は定期的に写真を含む投稿要求をサイトに送信しようとしています。それは最初の時間のために働くが、それから立ち往生する。私は間違って何をしていますか?Javaプロセスが終了しない

p = r.exec("curl --form api_key=<key> --form api_secret=<secret> " 
      + "--form [email protected] -m 20 " 
      + "http://api.face.com/faces/detect.json"); 

BufferedReader br = 
     new BufferedReader(new InputStreamReader(p.getInputStream())); 

String line = "", text = ""; 

while ((line = br.readLine()) != null) { 
    text += line + System.getProperty("line.separator"); 
} 

System.out.println(text); 
+0

あなたはBufferedReaderを閉じるのを忘れてしまったようです。私はこれがあなたの問題を解決するかどうかは分かりませんが、ストリームを開いたままにすると他のバグが発生する可能性があります。 –

答えて

0

私はあなたが見ることができないエラーを出力しています。 (エラーメッセージを標準出力にリダイレクトするためにProcessBuilderを使用することをお勧めします)、プロセスがハングアップしています。

0

新しいリクエストを行う前に、flushしてbufferedreaderを閉じてみてください。私はカールを使用したことはありませんが、新しいものを実行する前にプロセスが完了するまで待たなければならないかもしれませんか?

+0

あなたは本当に私を助けました。間違いは、Runtime.execとBufferedReaderを使用していました。 ProcessBuilderとInputStreamに切り替えました。今はすべてが問題ありません。みなさんありがとう。 – jarCrack

関連する問題