NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [docPath stringByAppendingString:@"/1.txt"];
NSString *str = @"My name is Leon, Hello everyone";
[str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSString *readstr = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"readstr:%@", readstr);
// 输出
NSFileHandle *output = [NSFileHandle fileHandleForReadingAtPath:filePath];
// 读取availableData
NSData *data = output.availableData;
// 读取的长度 data.length
//
NSString *availableDataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// // readDataToEndOfFile 这个方法你先要定义好当前节点 否则读不到东西
[output seekToFileOffset:0];
NSData *readtoendData = [output readDataToEndOfFile];
NSString *readToEndStr = [[NSString alloc] initWithData:readtoendData encoding:NSUTF8StringEncoding];
// readDataOfLength从当前节点开始读取指定的长度数
// 这个方法你先要定义好当前节点否则读不到东西 要重新定义当前节点
[output seekToFileOffset:0];
NSData *readDataOfLengthData = [output readDataOfLength:2];
NSString *readDataOfLengthStr = [[NSString alloc] initWithData:readDataOfLengthData encoding:NSUTF8StringEncoding];
NSLog(@"availableDataStr:%@, readToEndStr:%@, readDataOfLengthStr:%@", availableDataStr, readToEndStr, readDataOfLengthStr);
// 关闭输出
[output closeFile];
// 输入
NSFileHandle *input = [NSFileHandle fileHandleForWritingAtPath:filePath];
// 读取当时的偏移量
unsigned long long offset = [input offsetInFile];
NSLog(@"%llu", offset);
// 跳转
[input seekToFileOffset:2];
unsigned long long newoffset = [input offsetInFile];
NSLog(@"%llu", newoffset);
// 跳转到末尾
[input seekToEndOfFile];
newoffset = [input offsetInFile];
NSLog(@"%llu", newoffset);
// 往文件末尾插入字符
NSString *addStr = @"Hi, I am Mike";
NSData *addData = [addStr dataUsingEncoding:NSUTF8StringEncoding];
[input seekToEndOfFile];
[input writeData:addData];
// 不知道有什么用
// [input truncateFileAtOffset:0];
[input closeFile];
NSString *newStr = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"newStr:%@", newStr);
NSFileHandler---初步理解
最新推荐文章于 2021-11-07 08:02:43 发布