iOS开发小技巧 - 1.沙盒中的文件操作

1、获取程序的Home目录

      NSString  *path = NSHomeDirectory();

      NSLog(@"path:%@",path);

      打印结果:TestProject[2387:f803] path:/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/BAE91297-A4C6-4DDC-A9DA-7B790B36CE7A


   真机上的目录是: IosSandbox[4281:f803] /var/mobile/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2

   可见,真机上的目录是/var/mobile/Applications/这个目录下的,和模拟器不一样。这个是Home目录,其他的子目录和模拟器一样。


2、获取Document目录

   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

   NSString *path = [paths objectAtIndex:0]; 

   NSLog(@"path:%@", path); 

   打印结果:TestProject[2417:f803] path:/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/BAE91297-A4C6-4DDC-A9DA-7B790B36CE7A/Documents


3、获取Cache目录

   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 

   NSString *path = [paths objectAtIndex:0]; 

   NSLog(@"path:%@", path); 

   打印结果:TestProject[2310:f803] path:/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/BAE91297-A4C6-4DDC-A9DA-7B790B36CE7A/Library/Caches

4、获取Library目录

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 

     NSString *path = [paths objectAtIndex:0]; 

     NSLog(@"path:%@", path);

     打印结果:TestProject[2337:f803] path:/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/BAE91297-A4C6-4DDC-A9DA-7B790B36CE7A/Library

 

5、获取Tmp目录

   NSString *path = NSTemporaryDirectory(); 

   NSLog(@"%@", path);

   打印结果:TestProject[2358:f803] path:/var/folders/hj/8sgyk0f555l1z_n95p2b2kp00000gn/T/    

6、写入文件

    NSArray  *paths  =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

    NSString *docDir = [paths objectAtIndex:0];

    if(!docDir) {

        NSLog(@"Documents 目录未找到");

    }

    NSArray *array = [[NSArray alloc] initWithObjects:@"内容",@"content",nil];

    NSString *filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];

    [array writeToFile:filePath atomically:YES];


7、读取文件

   NSArray  *paths  =  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

   NSString *docDir = [paths objectAtIndex:0];

   NSString *filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];

   NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];

   NSLog(@"%@",array);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值