FTPのプログラム3
org.apache.commons.net.ftp.FTPClientを使用した
PUTしたいデータを指定したファイル名で、PUTするFTPプログラム。
import java.io.OutputStream; import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTP; ... ... /** * データを指定したファイルでputする。 * @param loginName FTPログイン名 * @param password FTPパスワード * @param fileName 出力ファイル名 * @param buffer PUTするデータのバッファ * @param offset PUTするデータの先頭からの位置 * @param length PUTするデータの長さ * @return 結果 true 成功/false 失敗 */ public boolean put( String loginName, String password, String fileName, byte[] buffer, int offset, int length ){ boolean result = false; OutputStream out = null; FTPClient ftp = new FTPClient(); try{ // 接続 ftp.connect( ipAddr ); // ログイン ftp.login( loginName, password ); // ファイルタイプの指定 ftp.setFileType( FTP.BINARY_FILE_TYPE ); // FTPパッシブモード指定 if( passiveMode ) ftp.enterLocalPassiveMode(); // 出力ストリームの取得 out = ftp.storeFileStream( fileName ); // データの書き込み、FTPによるPUT out.write( buffer, offset, length ); out.flush(); }catch( IOException ex ){ ex.printStackTrace(); }finally { if( out != null ){ try { out.close(); }catch( IOException ex ){} } if( ftp != null ){ ftp.completePendingCommand(); try { if( ftp.isConnected() ){ ftp.logout(); ftp.disconnect(); } }catch( Exception nop ){ } ftp = null; } } return result; } ... ...
(動作の保証はしません。使用の場合は、使用者の責任において、ご使用下さい。他に記述されているすべてのサンプルコードにおいても同様に、使用者の方の責任において使用してください。)