+ (void)saveString:(NSString *)str {
NSString *homeDir = NSHomeDirectory();
NSLog(@"homeDir = %@",homeDir);
//在某个范围内搜索文件夹的路径.
//directory:获取哪个文件夹
//domainMask:在哪个路径下搜索
//expandTilde:是否展开路径.
//这个方法获取出的结果是一个数组.因为有可以搜索到多个路径.
NSArray *array = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
//在这里,我们指定搜索的是Cache目录,所以结果只有一个,取出Cache目录
NSString *cachePath = array[0];
NSLog(@"%@",cachePath);
//拼接文件路径
NSString *filePathName = [cachePath stringByAppendingPathComponent:@"logout.txt"];
NSString *writeTime = [@"\n" stringByAppendingString:[@"=======================\n" stringByAppendingString:[[LibraryCacheLogTool getCurrentTime] stringByAppendingString:@"\n"]]];
NSString *writeTotext = [@"\n" stringByAppendingString:@"======================="];
writeTime = [[writeTime stringByAppendingString:str]
stringByAppendingString:writeTotext];
NSLog(@"%@",writeTime);
if ([[NSFileManager defaultManager] fileExistsAtPath:filePathName]) {
NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePathName];
[fileHandle seekToEndOfFile]; //将节点跳到文件的末尾
NSData *stringData = [writeTime dataUsingEncoding:NSUTF8StringEncoding];
[fileHandle writeData:stringData]; // 追加写入数据
[fileHandle closeFile];
} else {
[writeTime writeToFile:filePathName atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
}
+ (NSString *)getCurrentTime {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//yyyy-MM-dd-hh-mm-ss
[formatter setDateFormat:@"yyyy:MM:dd hh:mm:ss"];
NSString *dateTime = [formatter stringFromDate:[NSDate date]];
return dateTime;
}
然后我们直接调用该方法,就可以把字符串写入到本地沙盒路径:Library/Caches/logout.txt 里面。简单易懂。