您的位置:首页 > 移动开发 > IOS开发

IOS 从Resource文件夹下Copy文件到沙盒

2013-10-08 13:57 267 查看
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.title =  @"拷贝文件到Sandbox";

//文件类型
NSString * docPath = [[NSBundle mainBundle] pathForResource:@"save1" ofType:@"dat"];

// 沙盒Documents目录
//    NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

// 沙盒Library目录
NSString * appDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
//appLib  Library/Caches目录
NSString *appLib = [appDir stringByAppendingString:@"/Caches"];

BOOL filesPresent = [self copyMissingFile:docPath toPath:appLib];
if (filesPresent) {
NSLog(@"OK");
}
else
{
NSLog(@"NO");
}

// 创建文件夹
NSString *createDir =  [NSHomeDirectory() stringByAppendingString:@"/test"];
[self createFolder:createDir];

// 把文件拷贝到Test目录
BOOL filesPresent1 = [self copyMissingFile:docPath toPath:createDir];
if (filesPresent1) {
NSLog(@"OK");
}
else
{
NSLog(@"NO");
}

}

/**
*    @brief    把Resource文件夹下的save1.dat拷贝到沙盒
*
*    @param     sourcePath     Resource文件路径
*    @param     toPath     把文件拷贝到XXX文件夹
*
*    @return    BOOL
*/
- (BOOL)copyMissingFile:(NSString *)sourcePath toPath:(NSString *)toPath
{
BOOL retVal = YES; // If the file already exists, we'll return success…
NSString * finalLocation = [toPath stringByAppendingPathComponent:[sourcePath lastPathComponent]];
if (![[NSFileManager defaultManager] fileExistsAtPath:finalLocation])
{
retVal = [[NSFileManager defaultManager] copyItemAtPath:sourcePath toPath:finalLocation error:NULL];
}
return retVal;
}

/**
*    @brief    创建文件夹
*
*    @param     createDir     创建文件夹路径
*/
- (void)createFolder:(NSString *)createDir
{
BOOL isDir = NO;
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL existed = [fileManager fileExistsAtPath:createDir isDirectory:&isDir];
if ( !(isDir == YES && existed == YES) )
{
[fileManager createDirectoryAtPath:createDir withIntermediateDirectories:YES attributes:nil error:nil];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: