1つのファイルを消すのは簡単です。
1つの空フォルダ(ディレクトリ)を消すのも簡単です。
ところが、中身が残っているフォルダを消すのはちょい面倒です(; ・`д・´)
これを簡単に捌くなら、再帰的に消していくことです。
とにかくフォルダの中身をすべて消すサンプル
「c:\test\del_test」フォルダを消します。
このフォルダ配下に、フォルダやファイルがあっても、すべて再帰的に削除します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.io.File; 「c:\\test\\del_test」 public class FileDeleteTest { public static void main(String[] args) { try { String filePath = "c:\\test\\del_test"; delete(filePath); }catch(Throwable th) { th.printStackTrace(); } } public static void delete(String path) { File filePath = new File(path); String[] list = filePath.list(); for(String file : list) { File f = new File(path + File.separator + file); if(f.isDirectory()) { delete(path + File.separator + file); }else { f.delete(); } } filePath.delete(); } } |
実行結果
「c:\test\del_test」が削除されます。
中にフォルダがあっても、ファイルがあっても、全部消えます。
きっと、嫌な思い出や誰にも見られたくないファイルをすべて消し去ってくれることでしょうw
ちなみに、File.separatorを使うと、UNIX/Windows等、OSに依存しません。
とか言いながら、最初のファイルパスは「\」使ったけど^^;;