このエントリーをはてなブックマークに追加


ファイルの削除

Javaによるファイルおよびディレクトリを削除するサンプルソースおよび実行結果を以下に記します。

関連記事

ファイルの削除サンプルソース

本プログラムは削除したいファイルまたはディレクトリを引数に渡します。
ファイルまたはディレクトリの削除が失敗した場合、失敗した旨のメッセージが表示されます。
また、引数を渡さなかった場合はUsageが表示されます。

fileRemoveFile.java LF

import java.io.File;

class RemoveFile {

     private static void usage() {
         System.err.println("Usage: java RemoveFile <path/to>");
         System.exit(1);
     }

     public static void main(String[] args) {
         if (args.length != 1) {
             usage();
             System.exit(1);
         }
         File f = new File(args[0]);
         if (!f.exists()) {  // false
             System.out.println(args[0] + " is not found.");
             System.exit(1);
         }
         System.out.print("Remove target: ");
         if (f.isFile()) {
             System.out.println(args[0] + " file.");
         } else if(f.isDirectory()) {
             System.out.println(args[0] + " directory.");
         } else {
             System.out.println(args[0] + " is unknown.");
             System.exit(2);
         }
         if (!f.delete()) {
             System.out.println("cannot remove: " + args[0]);
             System.exit(3);
         }
     }
}

実行結果

コンパイルして実行してみます。

  1. コンパイルします。
    sakura@ubuntu:~$ javac RemoveFile.java 
  2. 引数なしで実行するとUsageが表示されます。
    sakura@ubuntu:~$ java RemoveFile 
    Usage: java RemoveFile <path/to>
  3. 削除するフォルダとファイルを作成(準備)します。
    sakura@ubuntu:~$ mkdir folder
    sakura@ubuntu:~$ touch file
    sakura@ubuntu:~$ ls -ld folder/ file 
    -rw-rw-r-- 1 sakura sakura    0  7月 14 14:59 file
    drwxrwxr-x 2 sakura sakura 4096  7月 14 14:58 folder/
  4. ファイルを削除します。
    sakura@ubuntu:~$ java RemoveFile file 
    Remove target: file file.
  5. ディレクトリを削除します。
    sakura@ubuntu:~$ java RemoveFile folder/
    Remove target: folder/ directory.
  6. 削除されているか確認します。(削除されました。)
    sakura@ubuntu:~$ ls -ld folder/ file 
    ls: 'folder/' にアクセスできません: そのようなファイルやディレクトリはありません
    ls: 'file' にアクセスできません: そのようなファイルやディレクトリはありません
  7. フォルダを作成し作成したフォルダ内にファイルを作成します。
    sakura@ubuntu:~$ mkdir folder
    sakura@ubuntu:~$ touch folder/a
    sakura@ubuntu:~$ ls -l folder/
    合計 0
    -rw-rw-r-- 1 sakura sakura 0  7月 14 15:01 a
  8. 作成したフォルダを引数に指定し実行すると、削除に失敗します。
    削除に失敗する理由は、フォルダ内にファイルが存在するためです。)
    sakura@ubuntu:~$ java RemoveFile folder/
    Remove target: folder/ directory.
    cannot remove: folder/

以上、Javaによるファイル・ディレクトリを削除するサンプルソースでした。


添付ファイル: fileRemoveFile.java 328件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-14 (金) 15:08:06