zoukankan      html  css  js  c++  java
  • 【iOS】路径获取

    【问题描述】

    iOS应用中,主要有两种路径,一是Documents目录(即应用安装的路径),二是Bundle路径(即应用程序束)

    一、获取Documents路径

    - (NSString *)filePathInDoc:(NSString *)filename
    {
        NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
        NSString *documentDirectory=[paths objectAtIndex:0];
        return [documentDirectory stringByAppendingPathComponent:filename];
    }

    那么获取Doc目录下的文件Text.txt,如下:

    [self filePathInDoc:@"Text.txt"];

    二、获取Bundle路径

    - (NSString *)getFilePathInBundle:(NSString *)filename
    {
        NSString *nameWithoutExt = [filename stringByDeletingPathExtension];
        NSString *ext = [filename pathExtension];
        return [[NSBundle mainBundle] pathForResource:nameWithoutExt ofType:ext];
    }

    //- (NSString *)filePathInBundle:(NSString *)filename
    //{
    //    int index = -1;
    //    
    //    for (int loop = [filename length] - 1; loop >= 0; loop--)
    //    {
    //        if ([filename characterAtIndex:loop] == '.')
    //        {
    //            index = loop;
    //            break;
    //        }
    //    }
    //    
    //    if (index == -1)
    //    {
    //        return nil;
    //    }
    //    
    //    NSString *filenameWithoutExt = [filename substringToIndex:index];
    //    NSString *ext = [filename substringFromIndex:index + 1];
    //    NSString *path = [[NSBundle mainBundle] pathForResource:filenameWithoutExt ofType:ext];
    //    return path;
    //}

    那么获取Bundle下的Text.txt文件,如下:

    [self filePathInBundle:@"Text.txt"];

  • 相关阅读:
    virtualbox中ubuntu和windows共享文件夹设置
    嵌入式Linux USB WIFI驱动的移植
    U-boot mkimage指定Linux内核地址时的两种方式
    ramdisk作为根文件系统的配置
    ARM Linux系统的时钟机制
    ARM Linux 如何--注册和触发--软中断
    FAT32文件系统--For TF卡
    如何编写Linux设备驱动程序
    WiFi基本知识 .
    idea插件篇之java内存分析工具(JProfiler)
  • 原文地址:https://www.cnblogs.com/ftrako/p/2766884.html
Copyright © 2011-2022 走看看