- 文件是否存在
- 创建文件
- 读取文件内容
- 写入内容
Object-C
- (BOOL)writeToTxt:(NSString *)content {
// 文件路径
NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
filePath = [filePath stringByAppendingPathComponent:@"stu.txt"];
// 文件不存在
if (![NSFileManager.defaultManager fileExistsAtPath:filePath]) {
// 创建文件
if (![NSFileManager.defaultManager createFileAtPath:filePath contents:nil attributes:nil]) {
NSLog(@"文件创建失败!");
return NO;
}
}
// 读文件中已有内容
NSError *error = nil;
NSString *originContent = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"读取内容失败 %@",error);
return NO;
}
// 新增文件内容并写入文件
NSString *newContent = [NSString stringWithFormat:@"%@ \n %@", originContent, content];
if (![newContent writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error]) {
NSLog(@"写入内容失败 %@",error);
return NO;
}
return YES;
}
调用存储方法,写入文件,效果如下:
Swift
let filePath: String = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last?.appending("/test.txt"))!
print(filePath)
if FileManager.default.fileExists(atPath: filePath) == false {
if FileManager.default.createFile(atPath: filePath, contents: nil) == false {
print("file creat failed !")
return
}
}
var content: String = try! String(contentsOfFile: filePath, encoding: .utf8)
content = content.appending("\n 张三 男 22 程序员")
try! content.write(toFile: filePath, atomically: true, encoding: .utf8)