13

I usually get paths by using NSBundle.

But, NSBundle does not contain Documents folder.

How to get All paths(or names) for files in Documents directory?

Krunal
  • 77,632
  • 48
  • 245
  • 261
ChangUZ
  • 5,380
  • 10
  • 46
  • 64

3 Answers3

30

This will give u the paths for all files under documents directory

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

    NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];

    NSLog(@"files array %@", filePathsArray);

You can get the path for each object in filePathsArray by using the below code

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:0]]; 
sElanthiraiyan
  • 6,000
  • 1
  • 31
  • 38
0

Here is in swift.
Print statement will print all available paths

func getDocumentsDirectory() -> URL {
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
print("Paths - \(paths)")
    let documentsDirectory = paths[0]
    return documentsDirectory
}
Krunal
  • 77,632
  • 48
  • 245
  • 261
0
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

To get files from that, you have to give the path structure...

    NSString *fileName = @"default.png";
    NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"%@", fileName];

The folderPath will return you the location of given file name.

alloc_iNit
  • 5,173
  • 2
  • 26
  • 54