IOS沙盒机制和文件操作(3)

2013年12月12日学习日志:IOS沙盒机制和文件操作(3)

1.    fileManager使用操作当前目录

NSFileManager*fileManager = [NSFileManager defaultManager];

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

    NSString*documentsDirectory = [paths objectAtIndex:0];

    //更改到待操作的目录下

    [fileManagerchangeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];

    //创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil

    NSString * fileName= @"testFileNSFileManager.txt";

    NSArray *array =[[NSArray alloc] initWithObjects:@"hello world",@"helloworld1", @"hello world2",nil];

    [fileManagercreateFileAtPath:fileName contents:array attributes:nil];

2. 删除文件

  [fileManager removeItemAtPath:fileName error:nil];

3. 混合数据的读写

 NSString * fileName = @"testFileNSFileManager.txt";

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

NSString *documentsDirectory =[paths objectAtIndex:0];

//获取文件路径

NSString *path =[documentsDirectory stringByAppendingPathComponent:fileName];

//待写入的数据

NSString *temp = @"nihao 世界";

int dataInt = 1234;

float dataFloat = 3.14f;

//创建数据缓冲

NSMutableData *writer =[[NSMutableData alloc] init];

//将字符串添加到缓冲中

[writer appendData:[tempdataUsingEncoding:NSUTF8StringEncoding]];

//将其他数据添加到缓冲中

[writer appendBytes:&dataIntlength:sizeof(dataInt)];

[writer appendBytes:&dataFloatlength:sizeof(dataFloat)];

//将缓冲的数据写入到文件中

[writer writeToFile:pathatomically:YES];

//读取数据:

   int intData;

   float floatData =0.0;

   NSString *stringData;

 

   NSData *reader =[NSData dataWithContentsOfFile:path];

   stringData =[[NSString alloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [templength])]

                                encoding:NSUTF8StringEncoding];

   [readergetBytes:&intData range:NSMakeRange([temp length], sizeof(intData))];

   [readergetBytes:&floatData range:NSMakeRange([temp length] + sizeof(intData),sizeof(floatData))];

1.      NSLog(@"stringData:%@ intData:%d floatData:%f", stringData,intData, floatData);

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值