iOS 文件写入沙盒与删除文件
// 把 图片 写入 沙盒
-(void)photoFile {
//此处首先指定了图片存取路径(默认写到应用程序沙盒 中)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
//并给文件起个文件名
NSString *uniquePath=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"pin"];
BOOL blHave=[[NSFileManager defaultManager] fileExistsAtPath:uniquePath];
if (blHave) {
NSLog(@"already have");
return ;
}
//此处的方法是将图片写到Documents文件中 如果写入成功会弹出一个警告框,提示图片保存成功
NSString *strPathOld = [[NSBundle mainBundle] pathForResource:@"pin" ofType:@"png"];
NSData *data = [NSData dataWithContentsOfFile:strPathOld];
BOOL result = [data writeToFile:uniquePath atomically:YES];
if (result) {
NSLog(@"success");
}else {
NSLog(@"no success");}
}
// 删除沙盒里的文件
-(void)deleteFile {
NSFileManager* fileManager=[NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
//文件名
NSString *uniquePath=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"pin.png"];
BOOL blHave=[[NSFileManager defaultManager] fileExistsAtPath:uniquePath];
if (!blHave) {
NSLog(@"no have");
return ;
}else {
NSLog(@" have");
BOOL blDele= [fileManager removeItemAtPath:uniquePath error:nil];
if (blDele) {
NSLog(@"dele success");
}else {
NSLog(@"dele fail");
}}}
// 图片
UIImage *img = [UIImage imageNamed:@"1.png"];
NSData* data = UIImagePNGRepresentation(img);
//向沙盒里 写入文件夹,并向文件夹里 写入东西
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *folder = [document stringByAppendingPathComponent:@"folder"];
NSString *filePath = [folder stringByAppendingPathComponent:@"test.png"];
if (![fileManager fileExistsAtPath:folder]) {
BOOL blCreateFolder= [fileManager createDirectoryAtPath:folder withIntermediateDirectories:NO attributes:nil error:NULL];
if (blCreateFolder) {
NSLog(@" folder success");
}else {
NSLog(@" folder fial");
}
}else {
NSLog(@" 沙盒文件已经存在");
}
if (![fileManager fileExistsAtPath:filePath]) {
NSString *strPathOld = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"png"];
NSData *data = [NSData dataWithContentsOfFile:strPathOld];
BOOL result = [data writeToFile:filePath atomically:YES];
if (result) {
NSLog(@"success");
}else {
NSLog(@"no success");}}
//得到沙盒文件夹 下的所有文件
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *document=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *folder =[document stringByAppendingPathComponent:@"folder"];
NSArray *fileList ;
fileList =[fileManager contentsOfDirectoryAtPath:folder error:NULL];
for (NSString *file in fileList) {
NSLog(@"file=%@",file);
NSString *path =[folder stringByAppendingPathComponent:file];
NSLog(@"得到的路径=%@",path);
}