01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package org.libresource.so6.core.engine.util;
34:
35: import java.io.File;
36:
37: public class RmDir {
38: private File path;
39:
40: /**
41: * Instanciate the command that allow a recursive delete
42: *
43: * @param path
44: */
45: public RmDir(String path) {
46: this .path = new File(path);
47: }
48:
49: /**
50: * Execute that command
51: *
52: * @throws java.io.IOException
53: */
54: public void execute() throws java.io.IOException {
55: if (path.exists()) {
56: delrec(path);
57: }
58: }
59:
60: private void delrec(File f) throws java.io.IOException {
61: if (f.isDirectory()) {
62: File[] fs = f.listFiles();
63:
64: for (int i = 0; i < fs.length; i++) {
65: delrec(fs[i]);
66: }
67: }
68:
69: if (!(f.delete())) {
70: throw new java.io.IOException("cannot delete "
71: + f.getPath());
72: }
73: }
74: }
|