Search code examples
javascalafile

Delete directory recursively in Scala


I am writing the following (with Scala 2.10 and Java 6):

import java.io._

def delete(file: File) {
  if (file.isDirectory) 
    Option(file.listFiles).map(_.toList).getOrElse(Nil).foreach(delete(_))
  file.delete
}

How would you improve it ? The code seems working but it ignores the return value of java.io.File.delete. Can it be done easier with scala.io instead of java.io ?


Solution

  • With pure scala + java way

    import scala.reflect.io.Directory
    import java.io.File
    
    val directory = new Directory(new File("/sampleDirectory"))
    directory.deleteRecursively()
    

    deleteRecursively() Returns false on failure