WindowsプラットフォームでJavaプログラムを作成しています。特定のファイルをzipアーカイブに圧縮する必要があります。私はProcessBuilderを使用して新しい7zipプロセスを開始します:大きなzipファイルの圧縮処理後に7Zipが終了しない
ProcessBuilder processBuilder = new ProcessBuilder("7Z","a",zipPath,filePath);
Process p = processBuilder.start();
p.waitFor();
問題は、7zipプロセスが完了後に終了しないことです。それは必要なzipファイルを作成しますが、その後はそこにハングアップします。つまり、waitFor()
コールは返されず、プログラムが停止します。修正または回避策を提案してください。
時々、プロセスを呼び出す際の問題は、プロダクションの出力を処理/クリアする必要があることです。出力バッファがいっぱいになると、バッファが再び解放されるのを待ちます。 – bert
Javaにはzipファイルを読み書きするためのzipパッケージがありますか? http://java.sun.com/developer/technicalArticles/Programming/compression/ –
固定していただきありがとうございます。出力をファイルにリダイレクトしただけです。 – user434541