本文給大家分享的是在IOS開發中檢測指定檔案是否存在的方法,給大家匯總了4種,十分實用,小夥伴們根據自己的需求自由選擇吧。
代碼如下:
- (NSString *)dataPath:(NSString *)file
{
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"badge"];
BOOL bo = [[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
NSAssert(bo,@"建立目錄失敗");
NSString *result = [path stringByAppendingPathComponent:file];
return result;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//此處首先指定了圖片存取路徑(預設寫到應用程式沙箱 中)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
//並給檔案起個檔案名稱
NSString *imageDir = [[[paths objectAtIndex:0] stringByAppendingPathComponent:@"163"] stringByAppendingPathComponent:@"songzi"];
//存放圖片的檔案夾
NSString *imagePath =[imageDir stringByAppendingPathComponent:@"檔案名稱.png"];
NSData *data = nil;
//檢查圖片是否已經儲存到本地
if([self isExistsFile:imagePath]){
data=[NSData dataWithContentsOfFile:imagePath];
}else{
data = [NSData dataWithContentsOfURL:[NSURL URLWithString: @"網址"]];
//建立檔案夾路徑
[[NSFileManager defaultManager] createDirectoryAtPath:imageDir withIntermediateDirectories:YES attributes:nil error:nil];
//建立圖片
[UIImagePNGRepresentation([UIImage imageWithData:data]) writeToFile:imagePath atomically:YES];
}
imageView.image = [UIImage imageWithData:data];
}
檢查檔案是否存在
代碼如下:
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@""];
if(path==NULL)
方法二:
代碼如下:
NSFileManager *fileManager = [NSFileManager defaultManager];
//Get documents directory
NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [directoryPaths objectAtIndex:0];
if ([fileManager fileExistsAtPath:@""]==YES) {
NSLog(@"File exists");
}
方法三:
代碼如下:
//判斷檔案是否存在
if(![c judgeFileExist:@"user.plist"])
{
NSLog(@"請確認該檔案是否存在!");
return;
}
方法四:
代碼如下:
//判斷檔案是否存在
-(BOOL)judgeFileExist:(NSString * )fileName
{
//擷取檔案路徑
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@""];
if(path==NULL)
return NO;
returnYES;
}