NSData的一些用法

时间:2023-03-09 17:12:04
NSData的一些用法
  1. //NSData遵循NSCopying NSCoding协议,它提供面向对象的数组存储为字节
  2. //适用与读写文件,而读写文件的时候需要一个缓冲区,而NSDate就提供了这么一个缓存区
  3. //定义一个char类型的字符串
  4. const char * string = "Hi there ,this is a C string";
  5. //建立缓冲区,把字符串添加进去
  6. NSData * data = [NSData dataWithBytes:string length:strlen(string)+1];
  7. //输出
  8. NSLog(@"data is %@",data);
  9. NSLog(@"%lu bytes string is '%s'",[data length],[data bytes]);
  10. //定义一个字符串,保存一个路径
  11. NSString * path = @"/tmp/ver.txt";
  12. //把这个保存路径的字符串保存到另一个文件中  encoding是编码
  13. [path writeToFile:@"/tmp/string.txt" atomically:YES encoding:NSASCIIStringEncoding error:nil];
  14. //添加一个数组   并添加几个字符串
  15. NSArray * phrase;
  16. phrase = [NSArray arrayWithObjects:@"i",@"good",@"seem",@"to",nil];
  17. //把数组写入(上面定义的字符串路径)的文件中
  18. [phrase writeToFile:path atomically:YES];
  19. //打印
  20. NSLog(@"%@",phrase);
  21. //创建文件管理器
  22. NSFileManager * fm;
  23. fm = [NSFileManager defaultManager];
  24. //创建缓冲区,利用NSFileManager对象来获取文件中的内容,也就是这个文件的属性可修改
  25. NSData * fileData;
  26. fileData = [fm contentsAtPath:@"/tmp/ver.txt"];
  27. //打印
  28. NSLog(@"file data is %@",fileData);
  29. //对NSData对象进行判断
  30. if(fileData)
  31. {
  32. NSLog(@"file read success");
  33. }
  34. else
  35. {
  36. NSLog(@"file read failed");
  37. }
  38. //定义一个布尔类型的对象
  39. BOOL ifsucess;
  40. //在objective-c种,正确是YES 错误是NO
  41. ifsucess = NO;
  42. //获取上面fileData对象中通过NSFileManager对象获取的文件中的内容,然后再创建一个新的路径,并存储
  43. ifsucess = [fm createFileAtPath:@"/tmp/test4.txt" contents:fileData attributes:nil];
  44. //对布尔型对象进行判断
  45. if(ifsucess)
  46. {
  47. NSLog(@"create file sucess");
  48. }
  49. else
  50. {
  51. NSLog(@"create file failed");
  52. }