你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 文件相關操作匯總 - 持續更新中......

iOS 文件相關操作匯總 - 持續更新中......

編輯:IOS開發綜合

1、獲取應用包中文件的絕對路徑:

NSString *absoluteFileName = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"filename.ext"];

2、獲取文檔根目錄下文件的絕對路徑:(該目錄下文件及文件夾可在 itunes 中共享,並進行增減操作)

    // 獲取文檔根目錄路徑,也即itunes共享的目錄
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    // 默認只有一個,就取第一個
    NSString *documentsDirectory = [paths objectAtIndex:0];
    // 文檔根目錄串附加一個文件名,構造出一個該目錄下文件的完整路徑
    NSString *absoluteFileName = [documentsDirectory stringByAppendingPathComponent:@"filename.ext"];
    

3、判斷指定路徑下的文件是否存在

    // 獲取文檔根目錄路徑,也即itunes共享的目錄
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    // 默認只有一個,就取第一個
    NSString *documentsDirectory = [paths objectAtIndex:0];
    // 文檔根目錄串附加一個文件名,構造出一個該目錄下文件的完整路徑
    NSString *absoluteFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
    // 文件管理器對象單例獲取
    NSFileManager *fileManager = [NSFileManager defaultManager];
    // 判斷上面構建的完整路徑對應的文件是否存在
    if (![fileManager fileExistsAtPath:absoluteFileName]) {
        
        // 文件不存在,則用應用包路徑再構建該文件的完整路徑
        absoluteFileName = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:fileName];
    }

4、多種字符編碼文件內容加載

    // 使用Utf-8編碼讀取該文件內容
    NSString *fileContent = [NSString stringWithContentsOfFile:absoluteFileName encoding:NSUTF8StringEncoding error:nil];

    // 使用 kCFStringEncodingGB_18030_2000 編碼讀取該文件內容
    NSStringEncoding stringEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *fileContent = [NSString stringWithContentsOfFile:absoluteFileName encoding:stringEncoding error:nil];

更多的 CFStringConvertEncodingToNSStringEncoding 編碼標識轉換函數的參數可查看 CoreFoundation/CFStringEncodingExt.h 中的相關聲明,逐個試試,猜猜,就可能找到想要的,以實測為准。





  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved