iOS 文件以及文件夹相关操作

 文件相关操作

/**

 * 返回解压成功或失败.需要使用到ZipArchive

 * srcfile:待解压文件全路径 destfile:解压文件全路径.

**/


+(BOOL)UnZipFile:(NSString*)srcFile ToFile:(NSString *)destFile withdeleteflag:(BOOL) bDel

{

   BOOL bUnZip = false;

    ZipArchive *zip = [[ZipArchivealloc] init];

    

   NSString *sZipPath = srcFile;

    

   NSString *unZipTo = destFile;

    

   if ([zip UnzipOpenFile:sZipPath])

        

    {

        

        [zipUnzipFileTo:unZipTo overWrite:YES];

        

        [zipUnzipCloseFile];

        bUnZip=YES;

        

    }

    [ziprelease];

    

   if (bDel) {

        [selfdeleteFile:sZipPath];

    }

    

    

   return bUnZip;

}


/**

 * 判断文件夹是否存在,不存在则创建对应文件夹.

 * strDir:文件夹全路径.

**/



+(void)IfNotCreateDir:(NSString*)strDir

{

    

    NSFileManager *fileManager = [NSFileManagerdefaultManager];

   BOOL isDir = FALSE;

   BOOL isDirExist = [fileManager fileExistsAtPath:strDir  isDirectory:&isDir];

    

   if(!(isDirExist && isDir))

    {

        BOOL bCreateDir = [fileManagercreateDirectoryAtPath:strDir withIntermediateDirectories:YESattributes:nilerror:nil];

       if(!bCreateDir){

            NSLog(@"Create  Directory Failed.");

        }

       NSLog(@"%@",strDir);

    }

    

}


/**

 *  删除文件.

 * strDir:文件全路径.

**/

+(void)deleteFile:(NSString*)strDir

{

    NSFileManager *fileManager = [NSFileManagerdefaultManager];

   if (![fileManager removeItemAtPath:strDir error:nil]) {

        NSLog(@"remove file error.");

    }

   else

    {

        NSLog(@"remove file success.");

    }

    

}


/**

 *  复制文件.

 * srcFile:原文件全路径.destFile:目标文件全路径

**/

+(BOOL)CopyFile:(NSString *)srcFile ToFile:(NSString *)destFile

{

   NSError *error=nil;

   BOOL success = [[NSFileManagerdefaultManager] copyItemAtPath:srcFiletoPath:destFile error:&error];

    

   if (!success){

        NSAssert1(0,@"Failed to copy file '%@'.", [error localizedDescription]);

        return FALSE;

    }

   else

    {

       return TRUE;

    }

}


/**

 * 判断文件是否存在,不存在则创建.

 * strFile:文件全路径.

**/


+(BOOL)CreateFileIfNotExist:(NSString *)strFile

{

    //创建文件管理器

    

    NSFileManager *fileManager = [NSFileManagerdefaultManager];


    //查找文件,如果不存在,就创建一个文件

    

   if (![fileManager fileExistsAtPath:strFile]) {

        

       return  [fileManager createFileAtPath:strFile contents:nilattributes:nil];

        

    }

    return true;

}


/**

 * 读取文本文件的每行,写入nsarray.

 * strFile:文件全路径.

**/


+(NSArray*)readTxtLines:(NSString *)strFile

{

    NSArray *lines;/*将文件转化为一行一行的*/

    NSLog(@"content:%@",[NSStringstringWithContentsOfFile:strFile encoding:NSUTF8StringEncodingerror:nil]);

    lines = [[NSStringstringWithContentsOfFile:strFile encoding:NSUTF8StringEncodingerror:nil]componentsSeparatedByString:@"\n"];

   return lines;

}


/**

 * 读取文本文件的每行中制定字符类间的数据.

 * strFile:文件全路径.strPreFlag:前分割字符,如“<";strBackFlag:前分割字符,如“>";

**/


+(NSArray*)readTxtLines:(NSString *)strFile withPreFlag:(NSString *)strPreFlag AndBackFlag:(NSString *)strBackFlag

{

   NSString *tmp;

    NSArray *lines;/*将文件转化为一行一行的*/

    lines = [[NSStringstringWithContentsOfFile:strFile encoding:NSUTF8StringEncodingerror:nil]componentsSeparatedByString:@"\n"];


   NSEnumerator *nse = [lines objectEnumerator];


    // 读取如<>里的内容

    NSMutableArray *arr = [[[NSMutableArrayalloc] init] autorelease];

   while(tmp = [nse nextObject]) {

       if (tmp !=nil || ![tmpisEqualToString:@""]) {

           NSString *stringBetweenBrackets = nil;

           NSScanner *scanner = [NSScannerscannerWithString:tmp];

            [scannerscanUpToString:strPreFlag intoString:nil];

            [scannerscanString:strPreFlag intoString:nil];

            [scannerscanUpToString:strBackFlag intoString:&stringBetweenBrackets];

           if (stringBetweenBrackets !=nil) {

                [arraddObject:stringBetweenBrackets];

            }

        


        }

    }

   return arr;

}


/**

 * 判断文件是否可读.

 * strFile:文件全路径;

**/

+(BOOL)IsFileCanRead:(NSString *)strFile

{

    return [[NSFileManagerdefaultManager] isReadableFileAtPath:strFile];

}


/**

 * 判断文件是否可写.

 * strFile:文件全路径;

**/


+(BOOL)IsFileCanWrite:(NSString *)strFile

{

    return [[NSFileManagerdefaultManager] isWritableFileAtPath:strFile];

}


/**

 * 判断文件是否相同.

 * 

**/


+(BOOL)IsFile:(NSString *)strSrcFILE equaltofile:(NSString *)strDestFile

{

    return [[NSFileManagerdefaultManager] contentsEqualAtPath:strSrcFILEandPath:strDestFile];

}


/**

 * 修改文件名.

 * 

**/


+(BOOL)reNameFile:(NSString *)strOldFile toFile:(NSString *)strNewFile

{

    //将文件 newfile.txt重命名为 newfile2.txt

    return [[NSFileManagerdefaultManager] moveItemAtPath:strOldFiletoPath:strNewFile error:nil];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值