Apache Commonsの使い方

Apache Commons とは、Apacheソフトウェア財団が開発しているオープンソースのJavaライブラリである。

構成

Apache Commonsは次に示すコンポーネントから構成されている。

Apache Commonsのコンポーネント一覧
コンポーネント 説明
Apache Commons BeanUtil JavaのリフレクションとイントロスペクションAPIを使いやすくしたラッパー
Apache Commons CSV CSV(カンマ区切り値)ファイルの読み込みと書き出しを行うためのコンポーネント
Apache Commons Daemon UnixデーモンのようなJavaコードのための代替呼び出しメカニズム
Apache Commons IO I/Oユーティリティのコレクション
Apache Commons Lang java.langを機能拡張したもの
Apache Commons Logging ロギングAPI実装のラッパー
Apache Commons Net ネットワークユーティリティとプロトコル実装のコレクション

Apache Commons BeanUtil

org.apache.commons.beanutils.BeanUtilsクラスのcopyPropertiesメソッドで、Beansから他のBeansへ全てのプロパティをコピーできる。

// nullをjava.sql.Timestampのプロパティへコピーするための設定
ConvertUtils.register(new SqlTimestampConverter(null), java.sql.Timestamp.class);

// プロパティのコピー
BeanUtils.copyProperties(dest, orig);

// SqlTimestampConverterの解除
ConvertUtils.deragister();

クラス

Apache Commons CSVのクラスを次の表に示す。

クラス 説明
org.apache.commons.csv.CSVFormat CSVフォーマットとパース入力を特性するクラス
フォーマット 区切り文字 引用符 レコード区切り文字 空行を無視する
DEFAULT , " \r\n true
EXCEL , " \r\n false

Apache Commons Daemon

Apache Commons Daemonとは、Javaに基づいたデーモンを作成するためのライブラリである。

Apache Commons IO

Apache Commons IOはI/Oユーティリティのコレクションである。

Apache Commons IOには次のクラスがある。

クラス
org.apache.commons.io.FileUtils
org.apache.commons.io.IOUtils
org.apache.commons.io.output.ByteArrayOutputStream

org.apache.commons.io.FileUtils

FileUtilsクラスのメソッド
メソッド 説明
copyFile ファイルをコピーする。

copyFile

ファイルをコピーする。

static void copyFile(File srcFile, File destFile)

org.apache.commons.io.output.ByteArrayOutputStream

ByteArrayOutputStreamは、データがバイト配列に書き込まれる出力ストリームである。

コンストラクタ

新しいバイト配列出力ストリームを作成する。

ByteArrayOutputStream
ByteArrayOutputStream(int size)
size
指定したサイズ(バイト単位)の容量をもつバイト配列を作成する。

Apache Commons Lang

Apache Commons Langはjava.langを機能拡張したものである。

org.apache.commons.lang3.StringUtilsクラス

StringUtilsクラスのメソッド
メソッド 説明
isEmpty 文字列がnull又は空(長さ0)か否かを返す
isNotEmpty 文字列がnullでなく、かつ空(長さ0)でないか否かを返す

isEmpty

static boolean isEmpty(java.lang.String)

isNotEmpty

static boolean isNotEmpty(java.lang.String)

Apache Commons Net

Apache Commons Netはネットワークユーティリティとプロトコル実装のコレクションである。

FTP

// FTPクライアント
FTPClient client = new FTPClient();

// 接続
client.connect(host, port);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
  // 異常な応答コード
}

// ログイン
if (client.login("user", "password") == false) {
  // ログイン失敗
}

// ファイルタイプの設定
client.setFileType(FTP.BINARY_FILE_TYPE);

// ファイルのGET
FileOutputStream fos = new FileOutputStream("localfile");
client.retrieveFile("remotefile", fos);

参考文献

The Apache Software Foundation (2021) Apache Commons