ファイル操作/ディレクトリ配下のファイルを削除する
の編集
Top
/
ファイル操作
/
ディレクトリ配下のファイルを削除する
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
AutoTicketLinkName
FrontPage
MenuBar
WikiWikiWeb
お約束
その他
その他/JavaでBeep(Bell)を鳴らすサンプルソース
その他/UnsupportedClassVersionErrorの原因及び対処法
その他/シェルに終了コードを渡す方法
システム関連
システム関連/Javaの情報を取得する
システム関連/Javaを実行するOS情報を取得する
ソート
ソート/ArrayListのソートサンプル
ソート/独自クラスでキー指定のソートサンプル
ソート/独自クラスのソートサンプル
ネットワーク
ネットワーク/HTTP(GET)サンプルソース
ファイル操作
ファイル操作/basename,dirnameのサンプル
ファイル操作/CSV取込みサンプルを作ってみた
ファイル操作/サブディレクトリ内を含むファイル一覧を取得
ファイル操作/テキストファイルの出力
ファイル操作/テキストファイルの読み込み
ファイル操作/ディレクトリ配下のファイルを削除する
ファイル操作/デフォルトのファイル文字コードを確認する
ファイル操作/デフォルトの改行コードを確認する
ファイル操作/ファイルかディレクトリかを確認する
ファイル操作/ファイルの削除
ファイル操作/ファイルを追記モード開き文字列を追加する
ファイル操作/ファイル・ディレクトリの有無(存在)確認
ファイル操作/ファイル一覧を標示する
プライバシーポリシー
変数操作
変数操作/メンバ変数の初期値はどのような値になっているか
変数操作/数値から文字列に変換するサンプルソース
変数操作/文字列から数値に変換するサンプルソース
数値操作
数値操作/数値をカンマ区切りで整形したい
数値操作/数値をカンマ区切りで整形し+記号を付けたい
数値操作/数値型の最大値・最小値
文字列操作
文字列操作/文字列が数字のみで構成されているかを確認する
文字列操作/文字列のリーバス(反転)
文字列操作/英字の大文字・小文字変換サンプル
日時操作
日時操作/DATEから年月日を抽出するサンプル
日時操作/うるう年のチェックを行う
最初にお読みください
標準入出力
標準入出力/STDOUTとSTDERRに出力する方法
標準入出力/パイプによるデータを受け取る方法
環境
環境/Eclipseで変数名なども補完できるようにする
環境/native2asciiで変換された文字列をもとに戻す
環境/UbuntuにaptコマンドでNetBeansをインストールしてみる
逆引きJavaサンプル
配列等操作
配列等操作/ArrayListのリバース(反転)サンプル
配列等操作/HashMapを使ったサンプル
#navi(../) * ディレクトリ配下のファイルを削除するサンプル [#f8a99c25] Javaで指定したディレクトリ配下のファイルをすべてを削除するサンプルソースになります。 #contents * 関連記事 [#t9546cc3] -[[サブディレクトリ内を含むファイル一覧を取得するサンプル>ファイル操作/サブディレクトリ内を含むファイル一覧を取得]] * サンプルソース [#nddeb65d] getFileList()メソッドを再帰呼出しすることにより、サブディレクトリ内のファイル一覧を取得しています。 尚、本サンプルプログラムは以下の引数を必要とします。 java RemoveFiles ディレクトリ ディレクトリを指定しないとUsageが表示されます。 サンプルソースの構造は、指定したサブディレクトリ内のファイル一覧をList<File>に格納します。~ ファイルおよびディレクトリの一覧を作成後、java.util.Collectionsのreverseメソッドを使ってリスト内の並びを反転させています。~ これは、最後に見つかったファイルまたはディレクトリから削除したいため、reverseでListを反転しています。~ &ref(RemoveFiles.java); LF import java.io.File; import java.util.List; import java.util.ArrayList; import java.util.Collections; class RemoveFiles { private void usage() { System.err.println("Usage: java RemoveFiles <directory>"); System.exit(1); } private List<File> getFileList(String dir, List<File> fileList) { File f = new File(dir); File[] fl = f.listFiles(); if (fl != null) { for (File item : fl) { fileList.add(item); if (item.isDirectory()) { getFileList(dir + System.getProperty("file.separator") + item.getName(), fileList); } } } return fileList; } public static void main(String[] args) { RemoveFiles me = new RemoveFiles(); // check arguemnts if ((args.length !=1)) { me.usage(); } // directory ? File f = new File(args[0]); if (!f.exists()) { // false System.out.println(args[0] + " directory is not found."); System.exit(2); } if (f.isFile()) { System.out.println(args[0] + " is file, Please set the directory."); System.exit(3); } if(!f.isDirectory()) { System.out.println(args[0] + " is unknown, Please set the directory."); System.exit(4); } List<File> fileList = new ArrayList<File>(); fileList.add(new File(args[0])); me.getFileList(args[0], fileList); Collections.reverse(fileList); for (File fitem : fileList) { fitem.delete(); } } } * コンパイルおよび実行結果 [#h2c2c160] 上記サンプルソースをコンパイルして実行してみます。 + コンパイルいます。 $ javac RemoveFiles.java +引数を指定しないと以下のようにUsageが表示されます。 $ java RemoveFiles Usage: java RemoveFiles <directory> +ファイルや存在しないファイルまたはディレクトリを指定するとメッセージが表示されます。 $ java RemoveFiles foo foo directory is not found. $ touch dummy ; java RemoveFiles dummy dummy is file, Please set the directory. + テスト用にディレクトリ・サブディレクトリ・ファイルを作成します。 $ mkdir -p foo/{bar1,bar2}/{hoge1,hoge2,hoge3} $ touch foo/foofile foo/bar1/{barfile1,barfile2} $ touch foo/bar1/hoge1/{hoge1file,hoge2file} $ touch foo/bar2/hoge3/{hoge3-1file,hoge3-2file} $ tree foo foo ├── bar1 │ ├── barfile1 │ ├── barfile2 │ ├── hoge1 │ │ ├── hoge1file │ │ └── hoge2file │ ├── hoge2 │ └── hoge3 ├── bar2 │ ├── hoge1 │ ├── hoge2 │ └── hoge3 │ ├── hoge3-1file │ └── hoge3-2file └── foofile #br +fooディレクトリを引数としてコンパイルしたサンプルプログラムを実行してみます。 $ ls -ld foo drwxrwxr-x 4 sakura sakura 4096 7月 16 00:48 foo $ java RemoveFiles foo + 削除されていることを確認します。 $ ls -l foo ls: 'foo' にアクセスできません: そのようなファイルやディレクトリはありません 以上、指定したディレクトリ配下のファイルを削除するサンプルソースでした。
タイムスタンプを変更しない
#navi(../) * ディレクトリ配下のファイルを削除するサンプル [#f8a99c25] Javaで指定したディレクトリ配下のファイルをすべてを削除するサンプルソースになります。 #contents * 関連記事 [#t9546cc3] -[[サブディレクトリ内を含むファイル一覧を取得するサンプル>ファイル操作/サブディレクトリ内を含むファイル一覧を取得]] * サンプルソース [#nddeb65d] getFileList()メソッドを再帰呼出しすることにより、サブディレクトリ内のファイル一覧を取得しています。 尚、本サンプルプログラムは以下の引数を必要とします。 java RemoveFiles ディレクトリ ディレクトリを指定しないとUsageが表示されます。 サンプルソースの構造は、指定したサブディレクトリ内のファイル一覧をList<File>に格納します。~ ファイルおよびディレクトリの一覧を作成後、java.util.Collectionsのreverseメソッドを使ってリスト内の並びを反転させています。~ これは、最後に見つかったファイルまたはディレクトリから削除したいため、reverseでListを反転しています。~ &ref(RemoveFiles.java); LF import java.io.File; import java.util.List; import java.util.ArrayList; import java.util.Collections; class RemoveFiles { private void usage() { System.err.println("Usage: java RemoveFiles <directory>"); System.exit(1); } private List<File> getFileList(String dir, List<File> fileList) { File f = new File(dir); File[] fl = f.listFiles(); if (fl != null) { for (File item : fl) { fileList.add(item); if (item.isDirectory()) { getFileList(dir + System.getProperty("file.separator") + item.getName(), fileList); } } } return fileList; } public static void main(String[] args) { RemoveFiles me = new RemoveFiles(); // check arguemnts if ((args.length !=1)) { me.usage(); } // directory ? File f = new File(args[0]); if (!f.exists()) { // false System.out.println(args[0] + " directory is not found."); System.exit(2); } if (f.isFile()) { System.out.println(args[0] + " is file, Please set the directory."); System.exit(3); } if(!f.isDirectory()) { System.out.println(args[0] + " is unknown, Please set the directory."); System.exit(4); } List<File> fileList = new ArrayList<File>(); fileList.add(new File(args[0])); me.getFileList(args[0], fileList); Collections.reverse(fileList); for (File fitem : fileList) { fitem.delete(); } } } * コンパイルおよび実行結果 [#h2c2c160] 上記サンプルソースをコンパイルして実行してみます。 + コンパイルいます。 $ javac RemoveFiles.java +引数を指定しないと以下のようにUsageが表示されます。 $ java RemoveFiles Usage: java RemoveFiles <directory> +ファイルや存在しないファイルまたはディレクトリを指定するとメッセージが表示されます。 $ java RemoveFiles foo foo directory is not found. $ touch dummy ; java RemoveFiles dummy dummy is file, Please set the directory. + テスト用にディレクトリ・サブディレクトリ・ファイルを作成します。 $ mkdir -p foo/{bar1,bar2}/{hoge1,hoge2,hoge3} $ touch foo/foofile foo/bar1/{barfile1,barfile2} $ touch foo/bar1/hoge1/{hoge1file,hoge2file} $ touch foo/bar2/hoge3/{hoge3-1file,hoge3-2file} $ tree foo foo ├── bar1 │ ├── barfile1 │ ├── barfile2 │ ├── hoge1 │ │ ├── hoge1file │ │ └── hoge2file │ ├── hoge2 │ └── hoge3 ├── bar2 │ ├── hoge1 │ ├── hoge2 │ └── hoge3 │ ├── hoge3-1file │ └── hoge3-2file └── foofile #br +fooディレクトリを引数としてコンパイルしたサンプルプログラムを実行してみます。 $ ls -ld foo drwxrwxr-x 4 sakura sakura 4096 7月 16 00:48 foo $ java RemoveFiles foo + 削除されていることを確認します。 $ ls -l foo ls: 'foo' にアクセスできません: そのようなファイルやディレクトリはありません 以上、指定したディレクトリ配下のファイルを削除するサンプルソースでした。
テキスト整形のルールを表示する
添付ファイル:
RemoveFiles.java
376件
[
詳細
]