Jawaban Peter Lawrey luar biasa karena sederhana dan tidak tergantung pada sesuatu yang istimewa, dan itulah cara Anda harus melakukannya. Jika Anda memerlukan sesuatu yang juga menghapus subdirektori dan isinya, gunakan rekursi:
void purgeDirectory(File dir) {
for (File file: dir.listFiles()) {
if (file.isDirectory())
purgeDirectory(file);
file.delete();
}
}
Untuk menyimpan subdirektori dan kontennya (bagian dari pertanyaan Anda), ubah sebagai berikut:
void purgeDirectoryButKeepSubDirectories(File dir) {
for (File file: dir.listFiles()) {
if (!file.isDirectory())
file.delete();
}
}
Atau, karena Anda menginginkan solusi satu baris:
for (File file: dir.listFiles())
if (!file.isDirectory())
file.delete();
Menggunakan perpustakaan eksternal untuk tugas sepele seperti itu bukanlah ide yang baik kecuali Anda membutuhkan perpustakaan ini untuk hal lain, dalam hal ini lebih disukai untuk menggunakan kode yang ada. Anda tampaknya menggunakan perpustakaan Apache, jadi gunakan FileUtils.cleanDirectory()
metode ini.