OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:597
区分:プログラム  |  分類:Java  |  最終更新日:2014/08/19
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【Java】ファイルまたはディレクトリをリネーム(移動)する
関連タグ:Java, File, renameTo
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 83,098
Java関連技術まとめ > 【Java】ファイルまたはディレクトリをリネーム(移動)する

Java でファイルまたはディレクトリをリネーム(移動)するには、File クラスの renameTo メソッドを使用します。

 

メソッド戻り型説明

renameTo(File)

boolean

対象のファイル(またはディレクトリ)をリネームします。

 

renameTo メソッドは生成した File オブジェクトが参照するファイル(もしくはディレクトリ)を、引数で指定した File オブジェクトが参照するファイル(もしくはディレクトリ)へリネームします。同名のファイル名でパスを変更した場合は移動となります。このメソッドは基本的には例外は発生せず、動作の成否は戻り値で確認する必要があります。また、メソッドの挙動はプラットフォームに依存するため、Windows 系と UNIX 系で動作がことなる場合があります。たとえば、移動先に同名のファイルがある場合などは、Windows 環境では false が返りますが、UNIX 環境では上書きとなり、true が返ります。

サンプルコード

以下サンプルは「c:\\temp\\test.txt」ファイルを「c:\\temp\\sample\\test.txt」へ移動するプログラムになります。

import java.io.*;

class sample {
    public static void main(String[] args) {

        File file1 = new File("c:\\temp\\test.txt");
        File file2 = new File("c:\\temp\\sample\\test.txt");
        try {
            if (file1.renameTo(file2)) {
                System.out.println("移動成功");
            } else {
                System.out.println("移動失敗");
            }
        } catch (SecurityException e) {
            System.out.println("例外が発生しました。");
            System.out.println(e);
        } catch (NullPointerException e) {
            System.out.println("例外が発生しました。");
            System.out.println(e);
        }
    }
}

動作検証

条件結果

移動元ファイルが存在し、

移動先に同名ファイルが存在しない

移動成功

移動元ファイルが存在し、

移動先に同名ファイルが存在する

※1

移動元ファイルが存在しない

移動失敗

移動先のパスが存在しない

移動失敗(※2

セキュリティーマネージャーが存在し、

移動元または移動先にアクセス権限がない

例外(SecurityException)

引数に null を指定

例外(NullPointerException)

※1 Windows 環境では「移動失敗」となり、UNIX 環境では上書きされ「移動成功」となります。

※2 自動で指定パスのディレクトリを作成する機能はありません。

 

関連記事
外部リンク
外部リンクはありません。
- 記事検索 -