FTPのプログラム
FTPでファイルのPUT、GETの処理を、ガリゴリ書いて動作させていましたが、FTPのパッシブモードで、ちゃんと動いてくれません。
それで、かわりの org.apache.commons.net.ftp.FTPClient を見つけました。
パッシブモードもちゃんと対応しているし、動作もOKです。採用です。
FTPのGETは下記のような書き方で、動作しました。
import java.io.IOException; import java.io.FileOutputStream; import java.io.OutputStream; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTP; ... ... ... FTPClient ftp = null; OutputStream out = null; boolean passiveMode = false; boolean result = false; try{ ftp = new FTPClient(); ftp.connect( ipAddr ); ftp.login( loginName, password ); ftp.setFileType( FTP.BINARY_FILE_TYPE ); if( passiveMode ) ftp.enterLocalPassiveMode(); out = new FileOutputStream( pathName ); result = ftp.retrieveFile( fileName, out ); }catch( IOException ioex ){ ioex.printStackTrace(); }finally{ if( out != null ) out.close(); if( ftp != null ){ if( ftp.isConnected() ){ ftp.logout(); ftp.disconnect(); } ftp = null; } } ... ... ...