方法一:这段objective c代码用于删除指定路径的文件
if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) { NSLog(@"Removed successfully"); }
方法二:NSFileManager *defaultManager;defaultManager = [NSFileManager defaultManager];[defaultManager removeFileAtPath: tildeFilenamehandler: nil];
handler可以接收消息,比如如果删除失败,可以使用fileManager:shouldProceedAfterError: 。
方法三:IOS 删除文件 删除文件夹 创建文件 创建文件夹 判断文件存在 md5 封装类
自己最近在使用关于数据的存取和删除,于是自己就写了一个包括功能的类,自己用着还是蛮方便,再次分享一下
StorageData.m
//// StorageData.m// xunYi7//// Created by david on 13-6-28.// Copyright (c) 2013年 david. All rights reserved.//#import <CommonCrypto/CommonDigest.h>#import "StorageData.h"#import "xunYi7AppDelegate.h"@implementation StorageData-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{NSLog(@"开始结didReceiveData搜数据");}-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{NSLog(@"开始结didReceiveResponse搜数据");}-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{NSLog(@"didFailWithError");}-(void) connectionDidFinishLoading:(NSURLConnection *)connection{NSLog(@"connectionDidFinishLoading");}+(NSMutableData *)remoteFetchData:(NSString *)dataUrl{NSString *currentDataFilePath = [[self dataPath] stringByAppendingPathComponent:[self fetchTodayDate]];//创建目录currentDataFilePath = [self createDirectory:currentDataFilePath];currentDataFilePath = [currentDataFilePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",[self md5:dataUrl]]];if([xunYi7AppDelegate isReachable]){NSURL *url = [[NSURL alloc] initWithString:dataUrl];NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60];NSURLResponse *response = [[NSURLResponse alloc] init];NSError *receiveDataError = [[NSError alloc] init];NSMutableData *receivedData = (NSMutableData *)[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&receiveDataError];[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;return receivedData;}else{[xunYi7AppDelegate showNetworkMessage];}return nil;}+(NSMutableData *)localFetchData:(NSString *)dataUrl{NSString *currentDataFilePath = [[self dataPath] stringByAppendingPathComponent:[self fetchTodayDate]];NSString *yesterdayDataFilePath = [[self dataPath] stringByAppendingPathComponent:[self fetchYesterdayDate]];//创建目录currentDataFilePath = [self createDirectory:currentDataFilePath];currentDataFilePath = [currentDataFilePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",[self md5:dataUrl]]];yesterdayDataFilePath = [yesterdayDataFilePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",[self md5:dataUrl]]];NSMutableData *localData = [self fromFilenamePathFetchLocalData:currentDataFilePath];if(localData != nil){//本地数据return localData;}else{//远程获取数据NSMutableData *receivedData = [self remoteFetchData:dataUrl];if(receivedData != nil){if([self storageDataToFile:receivedData fileName:currentDataFilePath]){NSLog(@"保存成功");[self removeDirectory];}else{NSLog(@"保存失败");}}else{if((localData = [self fromFilenamePathFetchLocalData:yesterdayDataFilePath]) != nil){return localData;}}return receivedData;}return nil;}//md5加密字符串+(NSString *)md5:(NSString *)str{const char *cStr = [str UTF8String];unsigned char result[16];CC_MD5(cStr, strlen(cStr), result); // This is the md5 callreturn [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",result[0], result[1], result[2], result[3],result[4], result[5], result[6], result[7],result[8], result[9], result[10], result[11],result[12], result[13], result[14], result[15]]; }//上传图片存储+(void) saveUploadImage:(UIImage *)image withName:(NSString *)imageName{NSFileManager *fileManager = [[NSFileManager alloc] init];NSError *error;// 获取沙盒目录NSString *fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];fullPath = [fullPath stringByAppendingPathComponent:@"tmpImage"];if(![fileManager fileExistsAtPath:fullPath]){[fileManager createDirectoryAtPath:fullPathwithIntermediateDirectories:YESattributes:nil error:&error];}fullPath = [fullPath stringByAppendingPathComponent:imageName];NSData *imageData = UIImageJPEGRepresentation(image, 0.5);// 将图片写入文件[imageData writeToFile:fullPath atomically:NO];}//上传图片删除+(void) removeUploadImage:(UIImage *)image withName:(NSString *)imageName{NSFileManager *fileManager = [[NSFileManager alloc] init];NSError *error;// 获取沙盒目录NSString *fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];fullPath = [fullPath stringByAppendingPathComponent:@"tmpImage"];if(![fileManager fileExistsAtPath:fullPath]){[fileManager removeItemAtPath:fullPath error:&error];}}//获取存储的图片+(NSString *)fetchUploadImagePath:(NSString *)imageName{NSString *fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];fullPath = [fullPath stringByAppendingPathComponent:@"tmpImage"];fullPath = [fullPath stringByAppendingPathComponent:imageName];return fullPath;}//判断文件是否存在+(NSString *)isFileExists:(NSString *)fullpath{NSFileManager *fileManager = [[NSFileManager alloc] init];if([fileManager fileExistsAtPath:fullpath]){return fullpath;}return nil;}//数据存储//+(void)//获取存储文件的目录+(NSString *)dataPath{//此处首先指定了图片存取路径(默认写到应用程序沙盒 中)NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);//并给文件起个文件名NSString *filePathDerectory = [paths objectAtIndex:0];return filePathDerectory;}//获取指定文件的数据+(NSMutableData *)fromFilenamePathFetchLocalData:(NSString *)filename{//保存数据到指定文件中NSFileManager *fileManager = [[NSFileManager alloc] init];if([fileManager fileExistsAtPath:filename]){NSData *data = [fileManager contentsAtPath:filename];return [data mutableCopy];}return nil;}//存储数据到指定文件+(BOOL) storageDataToFile:(NSData *)data fileName:(NSString *)fileName{//保存数据到指定文件中NSFileManager *fileManager = [[NSFileManager alloc] init];if([fileManager createFileAtPath:fileName contents:data attributes:nil]){return YES;}else{return NO;}}//删除文件+(void) deleteFile:(NSString *)fileName{NSFileManager *fileManager = [[NSFileManager alloc] init];NSError *error;[fileManager removeItemAtPath:fileName error:&error];}//获取今天的日期+(NSString *) fetchTodayDate{NSDate *currentDate = [NSDate date];NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateStyle:NSDateFormatterMediumStyle];return [dateFormatter stringFromDate:currentDate];}//获取昨天的日期+(NSString *) fetchYesterdayDate{NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-(24 * 60 * 60)];NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateStyle:NSDateFormatterMediumStyle];return [dateFormatter stringFromDate:yesterdayDate];}//获取前天的日期+(NSString *) fetchYesterdayBeforeDate{NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-(2 * (24 * 60 * 60))];NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateStyle:NSDateFormatterMediumStyle];return [dateFormatter stringFromDate:yesterdayDate];}//获取存储文件的数据//创建文件//创建目录+(NSString *) createDirectory:(NSString *)directoryName{NSFileManager *fileManager = [[NSFileManager alloc] init];NSError *error;if(![fileManager fileExistsAtPath:directoryName]){[fileManager createDirectoryAtPath:directoryNamewithIntermediateDirectories:YESattributes:nil error:&error];if(error == nil){return directoryName;}else{return directoryName;}}else{return directoryName;}}//删除文件+(void) removeFile:(NSString *)filePath{NSError *error;NSFileManager *fileManager = [[NSFileManager alloc] init];if([fileManager fileExistsAtPath:filePath]){[fileManager removeItemAtPath:filePath error:&error];}if(error){NSLog(@"error = %@",error);}}//删除目录+(void) removeDirectory{NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsPath = [paths objectAtIndex:0];NSString *removeDirectoryPath = [documentsPath stringByAppendingPathComponent:[self fetchYesterdayBeforeDate]];NSError *error;NSFileManager *fileManager = [[NSFileManager alloc] init];if([fileManager fileExistsAtPath:removeDirectoryPath]){[fileManager removeItemAtPath:removeDirectoryPath error:&error];}if(error){NSLog(@"error = %@",error);}}@endStorageData.h//// StorageData.h// xunYi7//// Created by david on 13-6-28.// Copyright (c) 2013年 david. All rights reserved.//#import <Foundation/Foundation.h>@interface StorageData : NSObject<NSURLConnectionDataDelegate, NSURLConnectionDelegate>+(NSMutableData *)remoteFetchData:(NSString *)dataUrl;+(NSMutableData *)localFetchData:(NSString *)dataUrl;+(void) saveUploadImage:(UIImage *)image withName:(NSString *)imageName;+(NSString *) uploadImage:(UIImage *)image withName:(NSString *)imageName;+(NSString *) fetchUploadImagePath;+(NSString *) fetchUploadImagePath:(NSString *)imageName;+(void) removeUploadImage:(UIImage *)image withName:(NSString *)imageName;+(NSString *)isFileExists:(NSString *)fullpath;+(void) removeFile:(NSString *)filePath;@end
有不完善的地方,希望指正和修改