[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:を使うと良いでしょう。

この記事を書いた人
あきお(@akio0911
iOSエンジニア、ブロガー。「プログラミングで人々を幸せに」をテーマに活動中。著書に「iPhoneアプリ開発レシピ」「cocos2d for iPhoneレッスンノート」など。東京・大阪にてアプリ開発講座「アプリクリエイター道場」を主催。 MAMORIO株式会社 技術顧問(インタビュー記事)、VISITS Technologies株式会社 技術顧問(インタビュー記事)。ブログ「卵は世界である」を運営。

関連記事

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

follow us in feedly

Feedlyで最新記事を購読

Twitterで更新情報をゲット!

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

プログラミング未経験者向けのプログラミング入門連載記事を始めます

こんにちは、@akio0911です。 これからプログラミング未経

【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた

こんにちは、@akio0911です。今回はRxSwiftのBe

【RxSwift】materialize, dematealizeを使ってみた

@toshi0383さんに教えていただいた、RxSwiftのm

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

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

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

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

→もっと見る

PAGE TOP ↑