Apache Commons とは、Apacheソフトウェア財団が開発しているオープンソースのJavaライブラリである。
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 | ネットワークユーティリティとプロトコル実装のコレクション |
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とは、Javaに基づいたデーモンを作成するためのライブラリである。
Apache Commons IOはI/Oユーティリティのコレクションである。
Apache Commons IOには次のクラスがある。
クラス |
---|
org.apache.commons.io.FileUtils |
org.apache.commons.io.IOUtils |
org.apache.commons.io.output.ByteArrayOutputStream |
メソッド | 説明 |
---|---|
copyFile | ファイルをコピーする。 |
ファイルをコピーする。
static void copyFile(File srcFile, File destFile)
ByteArrayOutputStreamは、データがバイト配列に書き込まれる出力ストリームである。
新しいバイト配列出力ストリームを作成する。
ByteArrayOutputStream
ByteArrayOutputStream(int size)
Apache Commons Langはjava.langを機能拡張したものである。
メソッド | 説明 |
---|---|
isEmpty | 文字列がnull又は空(長さ0)か否かを返す |
isNotEmpty | 文字列がnullでなく、かつ空(長さ0)でないか否かを返す |
static boolean isEmpty(java.lang.String)
static boolean isNotEmpty(java.lang.String)
Apache Commons Netはネットワークユーティリティとプロトコル実装のコレクションである。
// 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