Получить имя файла и расширение из filepath программно какао? - PullRequest
19 голосов
/ 28 августа 2011

Я знаю, что вы можете использовать NSBundle:

 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"rtf"];

, чтобы получить путь к файлу файла, но как мне получить имя файла и расширение (отдельно) из пути к файлу программно, используя NSBundle.

Например, я могу иметь: /Users/theuser/Documents/yourdocument.txt

Очевидно, что это файл 'yourdocument', а расширение 'txt'

Но мне нужно получить имя файла и расширение из пути к файлу для использования в качестве строки NSS.

Ваша помощь очень ценится!

Ответы [ 4 ]

44 голосов
/ 28 августа 2011

На NSString есть методы, которые делают это. Посмотрите на -[NSString pathExtension] и -[NSString lastPathComponent], оба определены в NSPathUtilities.h.

25 голосов
/ 10 октября 2012

, чтобы получить имя файла без расширения, попробуйте [NSString stringByDeletingPathExtension];

0 голосов
/ 31 марта 2017

Попробуйте, у меня все работает.

NSString *fileName = @"yourFileName.pdf";
NSString *ext = [fileName pathExtension];
0 голосов
/ 19 августа 2014

Я надеюсь, что это поможет вам ....

Str = [NSString stringWithFormat:@"%@",[openPanel URL]];

  [txtBeowsFilePath setStringValue:Str];

  Browesfilename=[Str lastPathComponent];
...