文件操作

本文深入探讨了iOS与Android两大平台在移动应用开发过程中的核心技术差异,包括开发工具、编程语言、框架选择、性能优化等方面,为开发者提供了一次全面的技术对比与实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//获得document

+(NSString *)documentsPath {

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

return [paths objectAtIndex:0];

}

 

//读取工程文件

+(NSString *) ProductPath:(NSString*)filename{

 

    NSString *path = [[NSBundlemainBundle] pathForResource:filename ofType:@""];

    return  path;

}

 

//获得document文件路径,名字方便记忆

+(NSString *) DocumentPath:(NSString *)filename {

NSString *documentsPath = [self documentsPath];

    // NSLog(@"documentsPath=%@",documentsPath);

return [documentsPath stringByAppendingPathComponent:filename];

}

 

 

//获得document文件路径

+(NSString *)fullpathOfFilename:(NSString *)filename {

NSString *documentsPath = [self documentsPath];

   // NSLog(@"documentsPath=%@",documentsPath);

return [documentsPath stringByAppendingPathComponent:filename];

}

 

 

//写入文件沙盒位置NSDictionary

+(void)saveNSDictionaryForDocument:(NSDictionary *)list  FileUrl:(NSString*) FileUrl  {

 

    NSString *f = [self fullpathOfFilename:FileUrl];

    

[list writeToFile:f atomically:YES];

}

 

//写入文件存放到工程位置NSDictionary

+(void)saveNSDictionaryForProduct:(NSDictionary *)list  FileUrl:(NSString*) FileUrl  {

 

    NSString *ProductPath =[[NSBundlemainBundle]  resourcePath];

    NSString *f=[ProductPath stringByAppendingPathComponent:FileUrl];

    

[list writeToFile:f atomically:YES];

}

 

//写入文件 Array 工程

+(void)saveOrderArrayListProduct:(NSMutableArray *)list  FileUrl :(NSString*) FileUrl {

 

    NSString *ProductPath =[[NSBundlemainBundle]  resourcePath];

    NSString *f=[ProductPath stringByAppendingPathComponent:FileUrl];

    

[list writeToFile:f atomically:YES];

}

//写入文件 Array 沙盒

+(void)saveOrderArrayList:(NSMutableArray *)list  FileUrl :(NSString*) FileUrl {

NSString *f = [self fullpathOfFilename:FileUrl];

    

[list writeToFile:f atomically:YES];

}

 

 

//加载文件沙盒NSDictionary

+(NSDictionary *)loadNSDictionaryForDocument  : (NSString*) FileUrl {

 

NSString *f = [self fullpathOfFilename:FileUrl];

NSDictionary *list = [ [NSDictionaryalloc] initWithContentsOfFile:f];

 

return [list autorelease];

}

 

//加载文件工程位置NSDictionary

+(NSDictionary *)loadNSDictionaryForProduct   : (NSString*) FileUrl {

   

NSString *f = [self ProductPath:FileUrl];

    NSDictionary *list =[NSDictionarydictionaryWithContentsOfFile:f];

    

return list;

}

 

 

//加载文件沙盒NSArray

+(NSArray *)loadArrayList   : (NSString*) FileUrl {

    

NSString *f = [self fullpathOfFilename:FileUrl];

    

NSArray *list = [NSArray  arrayWithContentsOfFile:f];

    

return list;

}

 

//加载文件工程位置NSArray

+(NSArray *)loadArrayListProduct   : (NSString*) FileUrl {

    

NSString *f = [self ProductPath:FileUrl];

    

    NSArray *list = [NSArray  arrayWithContentsOfFile:f];

    

return list;

}

 

//拷贝文件到沙盒

+(int) CopyFileToDocument:(NSString*)FileName{

    

 

    NSString *appFileName =[self fullpathOfFilename:FileName];

 

    

    NSFileManager *fm = [NSFileManagerdefaultManager];  

    

    //判断沙盒下是否存在 

    BOOL isExist = [fm fileExistsAtPath:appFileName];  

    

    if (!isExist)   //不存在,把工程的文件复制document目录下

    {  

        

        //获取工程中文件

        NSString *backupDbPath = [[NSBundle mainBundle]  

                                  pathForResource:FileName  

                                  ofType:@""];  

    

        

        //这一步实现数据库的添加,  

        // 通过NSFileManager 对象的复制属性,把工程中数据库的路径复制到应用程序的路径上  

        BOOL cp = [fm copyItemAtPath:backupDbPath toPath:appFileName error:nil];  

      

    

        return cp;

        

    } else {

        

        return  -1; //已经存在

    } 

    

}

 

//判断文件是否存在

+(BOOL) FileIsExists:(NSString*) checkFile{

     

    if([[NSFileManagerdefaultManager]fileExistsAtPath:checkFile])

    {

        return true;

    }

    return  false;

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值