[iOS] 從url中獲取文件名以及后綴

//這里有一個模擬器沙盒路徑(完整路徑)

NSString* index=@"/Users/junzoo/Library/Application Support/iPhone Simulator/7.0.3/Applications/63925F20-AF97-4610-AF1C-B6B4157D1D92/Documents/DownLoad/books/2013_50.zip";

對路徑截取的9種操作

    NSLog(@"1=%@",[index lastPathComponent]); //從路徑中獲得完整的文件名(帶后綴) 
    NSLog(@"2=%@",[index stringByDeletingLastPathComponent]); //
    NSLog(@"3=%@",[index pathExtension]);  //從路徑中獲得完整的文件名不帶'.')  
    NSLog(@"4=%@",[index stringByDeletingPathExtension]);//路徑”標準化“
    NSLog(@"5=%@",[index stringByAbbreviatingWithTildeInPath]);//通過把波浪號替換為當前用戶的主目錄,來把2013_50.zip
轉換為擴展的絕對路徑
    NSLog(@"6=%@",[index stringByExpandingTildeInPath]);
    NSLog(@"7=%@",[index stringByStandardizingPath]); //返回標準格式路徑
    NSLog(@"8=%@",[index stringByResolvingSymlinksInPath]);
    NSLog(@"9=%@",[[index lastPathComponent] stringByDeletingPathExtension]); //獲取文件名字

對應結果

1= 2013_50.zip

2= /Users/junzoo/Library/Application Support/iPhone Simulator/7.0.3/Applications/63925F20-AF97-4610-AF1C-B6B4157D1D92/Documents/DownLoad/books

3= zip

4= /Users/junzoo/Library/Application Support/iPhone Simulator/7.0.3/Applications/63925F20-AF97-4610-AF1C-B6B4157D1D92/Documents/DownLoad/books/2013_50

5= ~/Documents/DownLoad/books/2013_50.zip

6= /Users/junzoo/Library/Application Support/iPhone Simulator/7.0.3/Applications/63925F20-AF97-4610-AF1C-B6B4157D1D92/Documents/DownLoad/books/2013_50.zip

7= /Users/junzoo/Library/Application Support/iPhone Simulator/7.0.3/Applications/63925F20-AF97-4610-AF1C-B6B4157D1D92/Documents/DownLoad/books/2013_50.zip

8= /Users/junzoo/Library/Application Support/iPhone Simulator/7.0.3/Applications/63925F20-AF97-4610-AF1C-B6B4157D1D92/Documents/DownLoad/books/2013_50.zip

9= 2013_50

還有其他的一些文件操作
+ (NSString *)pathWithComponents(NSArray *)components
根據components中的元素來構建路徑.
- (NSArray *)pathComponents
解析路徑,返回構成路徑的各個部分.
- (NSString *)lastPathComponent
提取路徑中的最后一個組成部分
- (NSString *)pathExtension
從路徑中最后一個組成部分中提取擴展名

- (NSString *)stringByAppendingPathComponent(NSString*)path
將path添加到現有路徑末尾

- (NSString *)stringByAppendingPathExtension(NSString *)ext

將指定的擴展名添加到現有路徑的最后一個組成部分上
- (NSString *)stringByDeletingLastPathComponent
刪除路徑中的最后一個組成部分
- (NSString *)stringByDeletingPathExtension
從文件的最后一部分刪除擴展名
- (NSString *)stringByExpandingTildeInPath
將路徑中的代字符擴展成用戶主目錄(~)或指定用戶的主目錄(~user)
- (NSString *)stringByResolvingSymlinksInPath
嘗試解析路徑中的符號鏈接
- (NSString *)stringByStandardizingPath
解析路徑中的~,(..)父目錄,(.)當前目錄和符號鏈接來標準化路徑.

常用的路徑工具函數:
NSString * NSUserName (void);
返回當前用戶的登錄名
NSString * NSFullUserName (void);
返回當前用戶的完整用戶名
NSString * NSHomeDirectory (void);
返回當前用戶主目錄的路徑
NSString * NSHomeDirectoryForUser ( NSString *userName)
返回用戶userName的主目錄

NSString * NSTemporaryDirectory (void);
返回可用于創建臨時文件的路徑目錄

NSArray * NSSearchPathForDirectoriesInDomains (
   NSSearchPathDirectory directory,
   NSSearchPathDomainMask domainMask,
   BOOL expandTilde
);
用戶查找特定的目錄,如: NSDocumentationDirectory, NSUserDirectory等等


復制文件和使用NSProcessInfo類

常用的NSProcessInfo類

+ (NSProcessInfo *)processInfo
返回當前進程信息

- (NSArray *)arguments
以NSString對象數字的形式返回當前進程的參數

- (NSDictionary *)environment
返回變量/值對字典,以描述當前的環境變量(比如PATH等等)

- (int)processIdentifier
返回進程PID

- (NSString *)processName
返回當前正在執行的進程名稱

- (NSString *)globallyUniqueString
每次調用該方法時,都會返回不同的單值字符串,可以生成臨時文件名

- (NSString *)hostName
返回主機系統名

- (NSUInteger)operatingSystem
返回表示操作系統的數字

- (NSString *)operatingSystemName
返回操作系統的名稱

- (NSString *)operatingSystemVersionString
返回操作系統版本
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容