FileUtil { public static boolean rmdirs(File dir) { if (dir == null) { return false; } File[] files = dir.listFiles(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { rmdirs(files[i]); } else { files[i].delete(); } } } return dir.delete(); }  static String getSessionDirectoryName(String sessionId); static File getSessionDirectory(String sessionId); static boolean makeSessionDirectory(String sessionId); static boolean removeSessionDirectory(String sessionId); static boolean rmdirs(File dir);  }
@Test public void testRmdirs01() throws Exception { File dir = new File(TMP_TEST_DIR + "rmdirs1"); if (!dir.exists()) { dir.mkdirs(); } boolean result = FileUtil.rmdirs(dir); assertTrue(result); if (dir.exists()) { fail(); } }
@Test public void testRmdirs02() throws Exception { File dir = new File(TMP_TEST_DIR + "rmdirs2"); if (dir.exists()) { dir.delete(); } boolean result = FileUtil.rmdirs(dir); assertFalse(result); if (dir.exists()) { fail(); } }
@Test public void testRmdirs03() throws Exception { File dir = new File(TMP_TEST_DIR + "rmdirs3"); File subdir = new File(TMP_TEST_DIR + "rmdirs3/tmp"); File file = new File(TMP_TEST_DIR + "rmdirs3/tmp.txt"); if (!dir.exists()) { dir.mkdirs(); } if (!subdir.exists()) { subdir.mkdirs(); } if (!file.exists()) { file.createNewFile(); } boolean result = FileUtil.rmdirs(dir); assertTrue(result); if (dir.exists()) { fail(); } }
@Test public void testRmdirs04() throws Exception { File dir = null; boolean result = FileUtil.rmdirs(dir); assertFalse(result); }
@Test public void testRmdirs05() throws Exception { File dir = new File(""); boolean result = FileUtil.rmdirs(dir); assertFalse(result); }
@Test public void testRmdirs06() throws Exception { File dir = new File(TMP_TEST_DIR + "rmdirs6"); if (!dir.exists()) { dir.mkdir(); dir.setReadOnly(); } boolean result = FileUtil.rmdirs(dir); assertTrue(result); if (dir.exists()) { fail(); } }