OC中NSData数据,将对象边为字节码
//
// main.m
// IOS150619_ObjectiveC_NSData
//
// Created by qianfeng on 15/6/19.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *string = @"I love China";
//把字符串对象转换成NSData对象
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",data);
//把data对象中的数据写到指定文件中,文件不存在可以创建目的文件,但是目录不存在,则写失败
//- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
BOOL ret = [data writeToFile:@"/Users/qianfeng/Desktop/test/dic3/Hello.txt" atomically:YES];//原子性,即在写过程中不被打断,要么全部写完,要么就不写
NSLog(@"ret = %d",ret);
//把文件内容读成二进制对象
NSData *data1 = [NSData dataWithContentsOfFile:@"/Users/qianfeng/Desktop/test/dic3/Hello.txt"];
//将NSData对象转换成字符串对象
NSString *string1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
NSLog(@"string1 = %@",string1);
}
return 0;
}
NSFileHandle文件句柄:
// main.m
// IOS150619_ObjectiveC_文件操作
//
// Created by qianfeng on 15/6/19.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//句柄类似与二级指针,仅仅是类似
//文件句柄
//以只读的方式创建文件句柄,打开文件
//+ (instancetype)fileHandleForReadingAtPath:(NSString *)path;
//NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:@""];
//以只写的方式创建文件句柄,打开文件
//+ (instancetype)fileHandleForWritingAtPath:(NSString *)path;
//NSFileHandle *fh1 = [NSFileHandle fileHandleForWritingAtPath:@""];
//以可读可写的方式创建文件句柄
//+ (instancetype)fileHandleForUpdatingAtPath:(NSString *)path;
NSFileHandle *fh2 = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/qianfeng/Desktop/test/4.txt"];
//把文件指针移动到文件末尾,从文件指针的位置开始写
[fh2 seekToEndOfFile];
//写文件
NSData *data1 = [@"中国雄起" dataUsingEncoding:NSUTF8StringEncoding];
NSData *data2 = [@"上海牛" dataUsingEncoding:NSUTF8StringEncoding];
[fh2 writeData:data1];
[fh2 writeData:data2];
//把文件的内容同步到磁盘中
[fh2 synchronizeFile];
[fh2 closeFile];//文件句柄消失的时候,对应的文件应该关闭
//读取文件内容到末尾
NSFileHandle *fh3 = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/qianfeng/Desktop/test/4.txt"];
NSData *data3 = [fh3 readDataToEndOfFile];
NSString *string = [[NSString alloc] initWithData:data3 encoding:NSUTF8StringEncoding];
NSLog(@"string = %@",string);
//读取文件指定长度大小
//在OC中一个汉字占3个字节,如果把汉字拆了就无法转换成字符串对象
//移动文件指针到指定位置
//- (void)seekToFileOffset:(unsigned long long)offset;
[fh3 seekToFileOffset:6];
NSData *data4 = [fh3 readDataOfLength:9];
NSLog(@"data4 = %@",[[NSString alloc] initWithData:data4 encoding:NSUTF8StringEncoding]);
//截断文件为指定大小字节内容
//- (void)truncateFileAtOffset:(unsigned long long)offset;
[fh3 truncateFileAtOffset:30];
}
return 0;
}