[iOS][Swift]指定したディレクトリにあるファイルの一覧を取得する

公開日: : iOSアプリ開発

iOSで、指定したディレクトリにあるファイルの一覧を取得する方法について紹介します。

以下のサンプルコードではSwift 3を使用しています。

contentsOfDirectory(atPath:)を使用する

FileManagerのメソッド、contentsOfDirectory(atPath:)を使用します。

以下、使用例です。

if let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first {

    do {
        let items = try FileManager.default.contentsOfDirectory(atPath: documentDirectory)
    } catch let error {

    }
}

以下、実行結果の例です。

["file1", "file2", "directory1"]

contentsOfDirectory(atPath:)は、指定されたディレクトリの浅い検索(shallow search)を実行し、含まれている項目のパスの配列を返します。浅い検索なので、サブディレクトリ内に含まれる項目などは結果に含みません。

返り値として得られる配列には、ファイル名・ディレクトリ名・シンボリックリンク名が含まれます。現在のディレクトリ(.)や親ディレクトリ(..)は結果に含みません。配列内の要素の順序は未定義です。ディレクトリの内容が無い場合は空の配列を返します。

深い列挙(deep enumeration)を行いたい場合は、enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:を使うと良いでしょう。

関連記事

この記事が気に入ったら「いいね!」しよう

follow us in feedly

Feedlyで最新記事を購読

Twitterで更新情報をゲット!

LINEでご感想・ご要望お送りください!
(スマホでLINEを起動 > 友だち追加 > QRコード)

【RxSwift】ストリームのcompletedをつぶす(消し去る)方法

RxSwiftで元々のストリームからcompletedをつぶす

【RxSwift】completedかerrorが流れてきたらsubscribeはdisposeされる

RxSwiftにおいて、completedかerrorが流れて

init(frame:), init(coder:), awakeFromNib, prepareForInterfaceBuilder が呼ばれる条件をまとめてみた

カスタムViewを作った際に呼ばれる初期化系メソッドの条件や順

【WWDC2018】iOSエンジニア的に気になる新機能・新APIまとめ

こんにちは、@akio0911です。 先日開催されたWW

【Swift】Codableで後からキーを追加した場合の挙動

こんにちは、@akio0911です。 SwiftのCod

→もっと見る

PAGE TOP ↑