Java Recursively Delete a Directory: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 13: Line 13:
         .map(Path::toFile)
         .map(Path::toFile)
         .forEach(File::delete);
         .forEach(File::delete);
</syntaxhighlight>
<font color=darkgray>TODO: convert to Java.</font>
<syntaxhighlight lang='groovy'>
def static deleteDirectoryRecursively(def pipeline, String d) {
    File df = new File(d)
    String[] files = df.list()
    for(String s: files) {
        File f = new File(d, s)
        if (f.isDirectory()) {
            deleteDirectoryRecursively(pipeline, f.getPath())
        }
        else {
            if (f.delete()) pipeline.print "deleted ${f}"
        }
    }
    if (df.delete()) pipeline.print "deleted ${df}"
}
</syntaxhighlight>
</syntaxhighlight>


Line 18: Line 37:


<syntaxhighlight lang='java'>
<syntaxhighlight lang='java'>
private Path testDirectory;
@Before
public void setUp() throws Exception {
  testDirectory = Files.createTempDirectory("test");
}
@After
@After
public void cleanup() throws Exception {
public void cleanup() throws Exception {

Latest revision as of 20:58, 5 April 2021

External

Internal

Overview

Files.walk(configFrameworkRoot.toPath())
         .sorted(Comparator.reverseOrder())
         .map(Path::toFile)
         .forEach(File::delete);

TODO: convert to Java.

def static deleteDirectoryRecursively(def pipeline, String d) {
    File df = new File(d)
    String[] files = df.list()
    for(String s: files) {
        File f = new File(d, s)
        if (f.isDirectory()) {
            deleteDirectoryRecursively(pipeline, f.getPath())
        }
        else {
            if (f.delete()) pipeline.print "deleted ${f}"
        }
    }
    if (df.delete()) pipeline.print "deleted ${df}"
}

Remove a Directory in a Junit Test

private Path testDirectory;

@Before
public void setUp() throws Exception {

   testDirectory = Files.createTempDirectory("test");
}

@After
public void cleanup() throws Exception {

  if (testDirectory != null) {

     Files.walk(testDirectory)
          .sorted(Comparator.reverseOrder())
          .map(Path::toFile)
          .forEach(File::delete);

     assertFalse(Files.exists(testDirectory));
     testDirectory = null;
  }
}