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. }

NSData的一些用法的更多相关文章

  1. ios NSRange

    Objective-C中判断字符串是否包含其他字符串 -(BOOL) hasPrefix:(NSString *) astring;检查字符串是否以astring开头:-(BOOL) hasSuffi ...

  2. 转:用法总结:NSNumber、NSString、NSDate、NSCalendarDate、NSData(待续)

    NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (in ...

  3. iOS多线程之8.NSOPeration的其他用法

      本文主要对NSOPeration的一些重点属性和方法做出介绍,以便大家可以更好的使用NSOPeration. 1.添加依赖 - (void)addDependency:(NSOperation * ...

  4. [IOS 开发代码]UIImage+Blur 网络图片模糊用法

    UIImage-Helpers 网络图片模糊用法   float quality = .00001f;    float blurred = .5f; NSURL *url = [NSURL URLW ...

  5. iOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

    1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每 ...

  6. iOS 开发多线程篇—GCD的常见用法

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  7. RunTime的一些用法

    RunTime的一些用法   RunTime简介 RunTime简称运行时.OC就是运行时机制,其中最主要的是消息机制 对于OC来说,在编译的时候并不能决定真正调用哪个函数,只有真正运行时才会根据函数 ...

  8. iOS开发多线程篇—GCD的常见用法

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  9. NSString、NSMutableString基本用法

    NSString其实是一个对象类型.NSString是NSObject(Cocoa Foundation的基础对象)的子类 一.NSString的创建 1.创建常量字符串.NSString *astr ...

随机推荐

  1. jquery ajax 跨域处理

    今天使用JQuery Ajax 在本地电脑获取远程服务器数据的时候,发现使用$.ajax,$.getJSON,$.get这些都没有反应,后来再统一个网站下测试了一下,代码写得没有问题.后来想了想好想, ...

  2. PartialViewResult用法

    后台代码 ) { IList<TestModel> lstTestModel = this.GetModelList(categoryid); return PartialView(lst ...

  3. uva 10077 - The Stern-Brocot Number System

    想法: 初始化三個數L=0/1, M=1/1, R=1/0,設輸入的分數為a: 如果a<M,那麼要往左邊走,    R = M;    M = (L分子+M分子)/(L分母+M分母); 如果a& ...

  4. How to install ffmpeg,mp4box,mplayer,mencoder,flvtool2,ffmpeg-php on centos

    1. Enable RPM Fusion yum repository The CentOS rpm packages of ffmpeg, mplayer, mencoder and MP4Box ...

  5. FileWriter

    package file; import java.io.File; import java.io.FileWriter; import java.io.IOException; public cla ...

  6. 将Android 工程从Windows导入到Ubuntu 下java类中的中文在ADT中乱码

    解决方法: 右键工程-->Properties->Resource->Text file encoding->Other 手动输入GBK ->点击OK (Other 中是 ...

  7. 使用AlertDialog创建对话框的大致步骤

    1.创建AlertDialog.Builder对象,该对象是AlertDialog的创建器.2.调用AlertDialog.Builder的方法为对话框设置图标.标题.内容等.3.调用AlertDia ...

  8. DACL, NULL or not NULL

    上周 hBifTs在折腾他的文件映射封装类的时候,碰到了不能在 ASP.NET 中直接打开由桌面程序创建的内核对象的问题. 内存映射文件与用户权限 他当时是的方法是修改 ASP.NET 配置文件,让 ...

  9. JavaScript 实现数组的foreach

    Array.prototype.forEach = function (action) { for (var i = 0; i < this.length; i++) { action(this ...

  10. fatal error C1083: Cannot open include file: 'qttreepropertybrowser.moc': No such file or directory

    编译QtPropertyBrowser的时候出错.要用moc来生成.moc文件.我好奇的是与之前的通过.h生成moc_xxx.cpp不一样. 要用以下命令.一般来说是处理带Q_OBJECT宏的.h文件 ...