[关闭]
@fiy-fish 2015-07-19T12:25:08.000000Z 字数 1316 阅读 1364

day08-02-文件内容操作

Objective-c


  1. // main.m
  2. // day08-02-文件内容操作
  3. //
  4. // Created by Aaron on 15/7/10.
  5. // Copyright (c) 2015年 Aaron. All rights reserved.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #if 0
  9. int main(int argc, const char * argv[]) {
  10. @autoreleasepool {
  11. //NSFileHandle
  12. //句柄
  13. //对句柄做操作相当于是在操作文件本身
  14. //读----磁盘转移到内存
  15. //写----内存转移到磁盘
  16. NSFileManager *manager = [NSFileManager defaultManager];
  17. [manager createFileAtPath:@"/users/Aaron/desktop/file1.txt" contents:nil attributes:nil];
  18. //创建文件句柄
  19. NSFileHandle *writeHandle = [NSFileHandle fileHandleForWritingAtPath:@"/users/Aaron/desktop/file1.txt"];
  20. NSString *str = @"helloworld";
  21. //将文件内容转成二进制数据流
  22. NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
  23. //重新设置句柄的位置
  24. //注意:句柄是从0开始的
  25. //从第4个字符开始写入
  26. [writeHandle seekToFileOffset:5];
  27. //从文件的最后一个字符开始写入
  28. //[writeHandle seekToEndOfFile];
  29. //正式写入
  30. [writeHandle writeData:data];
  31. //同步磁盘
  32. [writeHandle synchronizeFile];
  33. //关闭文件
  34. [writeHandle closeFile];
  35. }
  36. return 0;
  37. }
  38. #endif
  39. int main()
  40. {
  41. //读文件
  42. NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:@"/users/qianfeng/desktop/file.txt"];
  43. //取出文件中4个字符(从头开始取)
  44. NSData *data = [readHandle readDataOfLength:4];
  45. NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  46. NSLog(@"%@",str);
  47. //从第二个字符开始取
  48. [readHandle seekToFileOffset:2];
  49. //取字符的长度是2
  50. data = [readHandle readDataOfLength:2];
  51. str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  52. NSLog(@"%@",str);
  53. [readHandle closeFile];
  54. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注