foobar200でflacなどからAACにコンバートしたファイルの拡張子、mp4をm4aに変換するScalaプログラム

import java.io.File

object Mp42m4a {
  def main (args: Array[String]) {
    if (args.length == 1) traverse(args(0))
  }

  private def traverse(path: String): Unit = {
    val target = new File(path)
    if (!target.exists()) { println(path + " not exists"); return None }

    if (target.isFile()) changeName(target)
    else target.list().foreach(x => traverse(path + "\\" + x))
  }

  private def changeName(file: File): Unit = {
    if (file.getName().takeRight(4).toLowerCase() != ".mp4") return None
    val fullname = new StringBuilder(file.getAbsolutePath())
    val replaced = fullname.replace(fullname.length - 4, fullname.length, ".m4a")
    file.renameTo(new File(replaced.toString))
  }
}

// vim: set ts=2 sw=2 et: