Java Programming

【Java】FTP送信/アップロード(Apatch commons-net を使用)

2020年1月19日

Pocket

こやま
Java で FTP 送信するロジックを紹介します!

Java で FTP処理を実装する方法は2種類。

  • JDK(標準java) の API を使用
  • Apatch Commons Net を使用 簡単に実装できる❢

今回は2点目の「Apache Commons Net」 の commons-net.jar を使用した FTP 送信処理 を紹介します!

前準備(jar のインストール)

Apatch Commons Net を使用 するには前準備が必要です!

  1. Jakarta の Commons Net のダウンロード
  2. Eclipse のビルドパスを通す

1. Jakarta の Commons Net のダウンロード

http://commons.apache.org/net/download_net.cgi

「commons-net-3.6-bin.zip」をダウンロードし、解凍してください。

2. Eclipse のビルドパスを通す

  • プロジェクト名を右クリック>プロパティ
  • Javaのビルドパス>外部Jarの追加
  • 1.でダウンロードした Jar を全て選択

これで前準備は完了!

実装

FTP 送信処理 は以下のようになりました!
execute メソッドを呼び出せば、FTP 送信が行われます!

「1.FTP接続」「2.ログイン」「5.データファイル送信」「6.FTP 切断」は必須、
「3.転送モード設定」「4.データ変換モード設定」は環境に合わせて変更してください!

(補足1)転送モード設定 について
FTP 送信元/送信先の環境によって、「ACTIVE モード」と「PASV モード」の転送モードを使い分ける必要があります。
転送モード については、こちらが非常に参考になります。
http://cos.linux-dvr.biz/archives/131

(補足2)データ変換モード設定 について
FTP 送受信するファイルの種類によって、「Binary モード」と「ASCII モード」を選択します。
・Binary モード:GIFファイルやJPEGファイルなどの画像ファイルや音楽ファイルなど
・ASCII モード:HTMLファイルやTXTファイル、CGIファイルなど。別名テキストモード

私の担当案件では、”テキストファイルの送信” かつ ”送信元/送信先で OS が異なる” ので、
「ASCII モード」を選択しました。
データ変換モード設定 については、こちらのサイトが参考になります。
http://se-land.com/wp/2016/03/22/ftp%E3%81%AEbinary%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A8ascii%E3%83%A2%E3%83%BC%E3%83%89/

今回は以上です!

閲覧頂きありがとうございました!

-Java, Programming

Copyright© SENORI BLOG , 2024 All Rights Reserved Powered by AFFINGER5.