Java ファイル削除・ディレクトリ(フォルダー)削除する方法 ホームページ制作 | 墨田区

Java ファイル削除・ディレクトリ(フォルダー)削除する方法

LINEで送る
Pocket

Javaでファイル削除・ディレクトリ(フォルダー)削除する方法 をご紹介します。

Javaでファイルおよびディレクトリの削除を行うには File.delete メソッドを使用しますが、ディレクトリを削除する場合には注意が必要です。

ディレクトリ内にファイルやサブディレクトリが存在する場合は、正常に削除されません。強制的にディレクトリを削除したい場合には、対象ディレクトリ内のファイルやサブディレクトリを先に削除する必要があります。
対象ディレクトリ内のサブディレクトリを削除するには 再帰的な処理 が必要です。
※再帰(さいき)的とは、記述の中に自身への参照があらわれることをいいます。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


サンプルソース

以下が、Javaでファイル削除・ディレクトリ(フォルダー)削除するサンプルソースです。

/**
 * ファイルおよびディレクトリを削除します。<br/>
 * ディレクトリが指定された場合は、ディレクトリ内のファイルも強制的に削除されます。
 *
 * @param path フルパスを指定します。(C:\サンプル)など
 * @return 削除件数
 */
public static int delete(String path) {
  File f = new File(path);
  // 存在チェック
  if ( !f.exists() )
    return 0;

  // ファイルの場合
  if ( f.isFile() ) {
    f.delete();
    return 1;
  }
  int counter = 0;
  // ディレクトリの場合
  if( f.isDirectory() ) {
    // ディレクトリ内の一覧を取得
    File[] files = f.listFiles();
    // ディレクトリ内のファイルもしくはディレクトリを削除する
    for ( int i = 0; i < files.length; i++ ) {
      // 再帰処理
      delete( files[i].getPath() );
    }
    // ディレクトリ削除
    f.delete();
    counter++;
  }
  return counter;
}

delete メソッド

メソッドの説明です。

引数説明
pathフルパスを指定します。(C:\サンプル)など

戻り値
削除件数

「再帰処理」とコメントされている部分に注目してください。
自身の処理の中で、自身を呼び出しています。
これが「再帰(さいき)」と言われる処理です。


テスト

それでは早速テストしてみましょう。
このソースはどのプロジェクトでも共通で使えるものです。
ユーティリティクラスを作って管理しましょう。

public class FileUtilsTest {
  public static void main(String[] args) {
    FileUtils.delete("C:/Temp/サンプル");
  }
}

ここでは FileUtils というクラスを作ってその中の1メソッドとしています。
※こうすることでソースを美しく管理することができます♪

「C:/Temp/サンプル」の中は以下のような構成です。
saka-en-001, saka-en-002 というディレクトリと saka-en-top.xlsx というファイルが配置されています。
Java ファイル削除 サンプルディレクトリ内

「C:\Temp\サンプル\saka-en-001」の中は以下のような構成です。
saka-en-001.xlsx というファイルが配置されています。
Java ファイル削除 サブディレクトリ内 1


「C:\Temp\サンプル\saka-en-002」の中は以下のような構成です。
ディレクトリ内は空です。
Java ファイル削除 サブディレクトリ内 2


それでは実行してみましょう。
実行してみると、サンプルというディレクトリが削除されます。
Java ファイル削除 ディレクトリが削除された
【注】間違っても「C:/」と指定してはいけません!OS が起動しなくなります!


ファイル操作は実務でもよく利用します。
くれぐれも「C:/」などルートディレクトリは指定しないでください。
大事なファイルが消えてからでは復元できません。
余計なバグを出さないようにきちんと理解して利用しましょう。

おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

Javaの勉強が思うように進まないときは!

Javaの勉強が思うように進まないのであれば、プロに直接質問ができる プログラミングスクール を検討してみてはいかがでしょうか?プログラミングスクールに申し込めば、短期間で一定のスキルを身に着けることができます!

Javaコースあり!オンライン完結型 テックアカデミー TechAcademy [テックアカデミー]

どこかに通う必要なく、自宅でプログラミングやアプリ開発を学ぶことができるのが特徴のスクールです。未経験からプロになるまで最短4週間という、超短期集中型の学習ができます。年齢層は10代〜40代の男女が中心で、学引があり多くの学生が受講しているそうですよ。オンラインで受講ができるスクールですので、全国どこからでも学習ができますね。

更にさらに、パーソナルメンターにチャット質問できちゃうんです!!

これは素晴らしいことですよ!ハマったり困ったことが起こるのがプログラミングの世界。知っている誰かに聞けば数分で解決することが、自分だけだと何時間もかかったりしますから!いや、これホントですよ。

しかし、便利な世の中になりましたよねー。一昔前ではオンラインで学習できるなんて、思いもよりませんでしたから。講師もバリバリのエンジニアですので、現場で使えるスキルを教えてもらえます。なんとも素晴らしいスクールがあったものですね。学割を使えば社会人より半額以下で受講できますから、学生さんには超おすすめです。

これから Java プログラミングを勉強して、将来はプログラマーとして活躍したいと思っている方には、就職保証付きJavaエンジニアコース というのがおすすめです。就職先まで保証してくれるとなれば、もう安心して学習に専念できますね。夢への第一歩はここから始まるのかも。あ、将来はライバルですね^^

オンラインスクールですから営業エリアは全国です。
気になる方は一度チェックしてみてください。無料の動画説明会も常時開催していますよ。


Javaコースあり!未経験者にウケてる KENスクール パソコンスクール・パソコン教室 【KENスクール】個別指導のWeb-DTP・OA・IT PCスクール

理解度や学習ペースに合わせて、一人ひとりが納得して前進できる授業を提供してくれるのが特徴です。特に課題製作は現場さながらで、実務に即したものとなっていますので短期でのスキルアップが望めます。自宅学習のサポートも充実していて、授業内容をいつでもビデオで振り返ることができるのもうれしいですね。好きな時間に好きな場所で、無理なくスケジューリングできるので、仕事の忙しい方でも柔軟に学ぶことができますよ。

更にさらに、なんと 就職サポート をしてくれるというのですから驚きです!!

履歴書の書き方から面接指導、求人の紹介など、具体的な就職先まで提案してくれるんです!私も「もっと早く出会いたかったなぁー、こんなスクール」・・・って思っちゃいました^^

東京・神奈川・愛知・大阪を営業エリアとされています。
まずは気軽に 無料体験予約 に申し込んでみるのもアリですよ。


コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL