- (void)saveDataByLine{
NSString *filePath = @"/Users/xx/Library/Containers/com.ds.TMXExport/Data/Library/Caches/a.txt";
NSLog(@"filePath : %@", filePath);
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]){
// 需要創(chuàng)建文件,否則無法創(chuàng)建句柄
[[NSFileManager defaultManager] createFileAtPath:filePath contents:[@"" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
}
// 如果是修改文件(會讀取原來的文件內容),需要使用fileHandleForUpdatingAtPath;
// 如果使用 fileHandleForWritingAtPath,寫內容到非空文件會報錯
NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
// NSData *read = [NSData dataWithContentsOfFile:filePath];
NSData *read = [fileHandle availableData];
NSString *text2 = [[NSString alloc] initWithData:read encoding:NSUTF8StringEncoding];
NSLog(@"avail : %@ (%lu) ", text2, (unsigned long)read.length );
for (int i = 0; i < 10; i++ ){
NSString *text = [NSString stringWithFormat:@"%d -- \n", i];
NSData *writer = [text dataUsingEncoding:NSUTF8StringEncoding];
// [writer writeToFile:filePath atomically:YES];
[fileHandle writeData:writer];
}
[fileHandle closeFile];
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-558006.html
文章來源:http://www.zghlxwxcb.cn/news/detail-558006.html
到了這里,關于iOS/macOS - 逐行寫入文件 (NSFileHandle)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!