这个问题纠结了两天,和同事两个人一直在看原始代码,并没有实际的进行代码验证,结果导致问题纠结了好久,后来发现其实就是方法定义的问题,不知道是不是准确,简单的描述各个方法的功能:
1.创建文件夹:
NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString * path1 = [path stringByAppendingPathComponent:@"aaa"];
// if (![[NSFileManager defaultManager] fileExistsAtPath:path1]) {
// [[NSFileManager defaultManager] createDirectoryAtPath:path1 withIntermediateDirectories:YES attributes:nil error:nil];
// }
NSString * filePath = [[path1 stringByAppendingPathComponent:@"bbb"] stringByAppendingPathExtension:@"txt"];
NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
BOOL success =[[string dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:YES];
if (success) {
NSLog(@"写入成功");
}else{
NSLog(@"写入失败");
}
以上代码中,对于文件夹的创建,必须经过
// if (![[NSFileManager defaultManager] fileExistsAtPath:path1]) {
// [[NSFileManager defaultManager] createDirectoryAtPath:path1 withIntermediateDirectories:YES attributes:nil error:nil];
// }
方法,进行路径的创建。而不能直接进行路径的添加
而创建文件并写入文件 直接使用
NSString * filePath = [[path1 stringByAppendingPathComponent:@"bbb"] stringByAppendingPathExtension:@"txt"];
NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
BOOL success =[[string dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:YES];
if (success) {
NSLog(@"写入成功");
}else{
NSLog(@"写入失败");
}
就可以了