ディレクトリに関するユーティリティ

公開日: : 最終更新日:2014/01/26 Java

ディレクトリに関するスニペットをいくつか書いた。いつかコピペする日が来ると思うのでメモしておく。

作成したスニペット

Gist に登録済み。

/**
 * ディレクトリを作成する。
 * 
 * @param 作成するディレクトリのパス
 * @throws IOException 
 */
public static File createDirectory(String path) throws IOException {
    File dir = new File(path);
    if(!dir.exists()) {
        FileUtils.forceMkdir(dir);
    }
    return dir;
}
 
/**
 * ディレクトリを削除する。
 * 
 * 指定したディレクトリが存在すれば削除する。
 * 
 * @param dir 削除するディレクトリ
 * @throws IOException ディレクトリの削除に失敗した場合
 */
public static void deleteDirectory(File dir) throws IOException {
    if(dir.exists()) {
        FileUtils.forceDelete(dir);
    }
}
 
/**
 * ディレクトリをコピーする。
 * 
 * コピー先のディレクトリは削除する。
 * コピー元に指定したディレクトリが存在しない場合は何もしない。
 * 
 * @param src コピー元のディレクトリ
 * @param dest コピー先のディレクトリ
 * @throws IOException ディレクトリのコピーに失敗した場合
 */
public static void copyDirectory(File src, File dest) throws IOException {
    if(!src.exists()) {
        return;
    }
    
    if(dest.exists()) {
        deleteDirectory(dest);
        FileUtils.forceMkdir(dest);
    }
    
    FileUtils.copyDirectory(src, dest);
}
 
/**
 * ディレクトリを移動する。
 * 
 * 移動先のディレクトリは削除する。
 * 移動元に指定したディレクトリが存在しない場合は何もしない。
 * 
 * @param src 移動元のディレクトリ
 * @param dest 移動先のディレクトリ
 * @throws IOException ディレクトリの移動に失敗した場合
 */
public static void moveDirectory(File src, File dest) throws IOException {
    if(!src.exists()) {
        return;
    }
    
    if(dest.exists()) {
        deleteDirectory(dest);
    }
    
    FileUtils.moveDirectory(src, dest);
}

使用したソフトウェアのバージョン

Java のバージョンは次の通り。

$ java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

あと、Commons IO の FileUtils も使っている。バージョンは次の通り。。。古いな。

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.4</version>
</dependency>

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

no image

Jetty でシンプルなプロジェクトを作成してみた

プロトタイプを作成するなら Tomcat よりも Jetty のほうがさらっと出来そうだなぁ、と今さ

記事を読む

no image

プロセスの起動を確認するプログラム

プロセスが起動しているかを確認するプログラムを Java で書いてみました。Excel のプロセス確

記事を読む

medium_182531101

ClassLoader を使って getResourceAsStream で取得したファイルを UTF-8 で読み込む

よく使う割には覚えられず毎回調べている気がするので備忘録としてメモしておきます。 文字コードを指定し

記事を読む

no image

Spark を使って JSON を返すシンプルな API を書いてみた

必要に迫られてモックの API を作成することになった。 大した工数を割けないので使ったことのある

記事を読む

no image

Java から VBScript を使って Excel を印刷する

背景 Java のデスクトップアプリを作成していたときの要件に「Excel で作成された帳票を印刷

記事を読む

icatch_4610898091-resized

Java8 の Optional とガード節

メソッドの冒頭で条件チェックを行い、条件を満たしていない場合はさっさと return してしまう「ガ

記事を読む

icatch-zip_524574337_mini-thumbnail

Java でファイルが1つだけ圧縮された zip を解凍するサンプル

ファイルが1つだけ圧縮された zip を解凍するサンプルです。 単一ファイルが圧縮された zip

記事を読む

icatch-3361b5e1-resized

Optional型の変数にget()とifPresent()は使わない

Java8 から導入された Optional を勉強するため、過去にプライベートで書いたコードに O

記事を読む

icatch-thumbnail

レスポンスにサムネイル画像を返す API のサンプル

今回は直接 ImageMagick は関係ありませんが、また画像ネタです。この辺りのことを仕事で扱っ

記事を読む

no image

Functions#compose() を使って Function を合成するサンプル(Java8 との比較付き)

Java8 と GoogleGuava の Function について コードの違いを書いた。 その

記事を読む

Googleアドセンス用(PC)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


× 三 = 9

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑