どうも。どっことです。今回はアプリ固有のファイル領域にディレクトリを生成する実装方法を解説します。
さっそくですが、実装サンプルです。階層構造のあるディレクトリを生成するケースとして、階層ごとに生成するケースとまとめて生成するケースを紹介します。
ディレクトリ階層ごとにディレクトリを生成する
階層ごとに生成するケースを紹介します。最初にディレクトリを生成したあと、そのディレクトリを親ディレクトリとして指定する形で子ディレクトリを生成します。
val parent1 = File(requireContext().filesDir, "parent1")
// ディレクトリ(parent1)を作成する
parent1.mkdir()
val parent2 = File(parent1, "parent2")
// 作成したparent1ディレクトリを親にして、子ディレクトリ(parent2)を作成する
parent2.mkdir()
複数のディレクトリ階層があってもまとめて生成する
こちらはまとめて生成するケースです。ディレクトリ名の指定に親ディレクトリを含めることで、その親ディレクトリもまとめて生成してくれる。というわけです。唯一注意が必要なのは、ディレクトリを生成する関数が前のサンプルではmkdir()
をつかっていましたが、今回はmkdirs()
を使っている点でしょうか。
val parents = File(requireContext().filesDir, "parent1/parent2")
parents.mkdirs()