質問: new BufferedOutputStream(new FileOutputStream("D:/test/" + fileName); client.retrieveFile(fileName, bos); bos.close(); } ``` 上記プログラムでダウンロードしたtar.gzファイルをTarArchiveInputStreamで解凍すると、上記Exceptionが発生します。 (解凍プログラムは割愛します) なお、WinSCPで直接tar.gzファイルをローカルに保存したものを解凍すると、tar.gz内のtarファイル内のファイル一覧も正常に取得できます。 プログラムでダウンロードしたtar.gzファイルをダブルクリックし、表示されたtarファイルをダブルクリックすると「選択したオブジェクトを解凍できませんでした。アーカイブがパスワードで保護されていれば、解除して下さい。」というダイアログが表示されます。 もちろんパスワードはかかっていません。 以上、どうぞよろしくお願い致します。
回答: client.retrieveFile(fileName, bos); の前に client.setFileType(FTP.ASCII_FILE_TYPE); を入れてみるといかがでしょうか?