milof
milof

Reputation: 696

How can I get all the file names of documents in my sandbox?

I have the following code:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

However I am clueless as to how to get all the files names and assign them to an array?

Any help would be appreciated.

Upvotes: 5

Views: 3468

Answers (3)

John Riselvato
John Riselvato

Reputation: 12924

    NSError *error;
    NSFileManager* fileMgr = [NSFileManager defaultManager];
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSArray* documentsArray = [fileMgr contentsOfDirectoryAtPath:documentsDirectory error:&error];
    [documentsArray count];

Is another way of doing this for those with a different set up.

Upvotes: 1

DHamrick
DHamrick

Reputation: 8488

NSFileManager has a method called contentsOfDirectoryAtPath:error: that returns an array of all the files in that directory.

You can use it like this:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if([paths count] > 0)
{
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSError *error = nil;
    NSArray *documentArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error];
    if(error)
    {
        NSLog(@"Could not get list of documents in directory, error = %@",error);
    }
}

The documentsArray object will contain a list of all the files in that directory.

Upvotes: 11

Anomie
Anomie

Reputation: 94824

Use NSFileManager's contentsOfDirectoryAtPath:error: method.

Upvotes: 4

Related Questions