NSFileManager管理文件常用办法

2023-12-12 01:19

本文主要是介绍NSFileManager管理文件常用办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//  4.1  NSFileManager管理文件常用办法

//  4.2创建文件
//创建NSFileManager对象
NSFileManager*fileManager = [NSFileManager defaultManager];
    NSString*homePath1 = NSHomeDirectory();
NSLog(@"homePath1====%@",homePath1);
NSString*pathMg = [homePath1 stringByAppendingPathComponent:@"liRuYi2.text"];
//创建内容
NSString*text = @"媒介生而平等,但有的媒介比其它媒介更加平等,不是人们不读书了,而是文字阅读已经不再是唯一有价值、有营养的阅读形态了。";
//将字符串转换成NSData类型
NSData*date = [text dataUsingEncoding:NSUTF8StringEncoding];
//写入文件
    BOOL success = [fileManager createFileAtPath:pathMg contents:date attributes:nil];
    NSLog(@"%d",success);



//    4.3读取文件
//    4.3.1  创建NSFileManager对象
NSFileManager*fileManager2 = [NSFileManager defaultManager];
//4.3.2   根据路径读取文件
    NSData*fileDate = [fileManager2 contentsAtPath:pathMg];
//4.3.3    将NSDate转换成NSString
NSString*content = [[NSString alloc] initWithData:fileDate encoding:NSUTF8StringEncoding];
NSLog(@"content=====%@",content);

//    4.4 剪切复制
    NSString*homePath3 = NSHomeDirectory();
//源文件路径
NSString*srcPath = [homePath3 stringByAppendingPathComponent:@"liRuYi2.text"];
//目标路径
NSString*toPath = [homePath3 stringByAppendingPathComponent:@"Documents/file.text"];
//4.4.1剪切(移动)文件
//将src路径的文件剪切到toPath路径
    BOOL isSuccess = [fileManager2 moveItemAtPath:srcPath toPath:toPath error:nil];
    NSLog(@"%d",isSuccess);

//4.4.2 复制文件
//源文件路径
    NSString*srcPath2 = [homePath3 stringByAppendingPathComponent:@"file.text"];
//目标路径
NSString*toPath2 = [homePath3 stringByAppendingPathComponent:@"Library/good.text"];

    BOOL success2 = [fileManager2 copyItemAtPath:srcPath2 toPath:toPath2 error:nil];
     NSLog(@"%d",success2);


//    4.5 删除文件
//判断文件是否存在

    NSString*deletePath = [homePath3 stringByAppendingPathComponent:@"liRuYi2.text"];

    BOOL isExist = [fileManager2 fileExistsAtPath:deletePath];
    if (isExist) {
        //删除文件
        BOOL seccessDelete = [fileManager2 removeItemAtPath:deletePath error:nil];
        if (seccessDelete) {
NSLog(@"remove success");

UIAlertView*alertView = [[UIAlertView alloc] initWithTitle:nil message:@"remove success" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
            [alertView show];



        }
    }

//    4.6获取文件大小
//获取文件的属性字典
    NSDictionary*fileDic = [fileManager2 attributesOfItemAtPath:toPath2 error:nil];
//获取文件大小
    NSNumber*fileSize = [fileDic objectForKey:NSFileSize];
NSLog(@"fileSize=======%@",fileSize);

//    5 写文件
//    数组 字典 字符串 NSData都是容纳数据的,他们都有一个writeToFile的方法

//5.1数组写入文件
    NSString *str1 = @"明月几时有";
    NSString *str2 = @"把酒问青天";
    NSArray *array = [NSArray arrayWithObjects:str1,str2, nil];
NSString*path10 = [homePath stringByAppendingPathComponent:@"hehe.text"];
//将数组中的数据写入文件
    [array writeToFile:path10 atomically:YES];

NSString*path11 = [homePath stringByAppendingPathComponent:@"hehe.plist"];
    [array writeToFile:path11 atomically:YES];


//   5.2 属性列表文件
//    数组只能写入NSNumber NSString NSDate NSData NSArray NSDictionary
//    数组,字典写入的文件叫属性列表(plist),可以用xcode打开编辑


//   6 读文件
//    数组 字典 字符串 NSData  同样的可以将文件数据读入程序
//    6.1数组读文件
//通过alloc创建,并读入文件数据
    NSArray*array1 = [[NSArray alloc] initWithContentsOfFile:path10];
NSLog(@"array1===========%@",array1);
//通过类方法创建,并读入文件数据
    NSArray*arry2 = [NSArray arrayWithContentsOfFile:path11];
NSLog(@"arry2 ===== %@",arry2);

//    补充 创建文件夹
//[[NSSearchPathForDirectoriesInDomains(NSDemoApplicationDirectory, NSUserDomainMask, YES)是一个数组,作用是获取路径
NSString*createDir = [[NSSearchPathForDirectoriesInDomains(NSDemoApplicationDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"test/test/test"];
//创建文件夹  createIntermediates该参数bool类型 是否创建文件夹路径中没有的文件夹目录
    [fileManager createDirectoryAtPath:createDir withIntermediateDirectories:YES attributes:nil error:nil];

这篇关于NSFileManager管理文件常用办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/482742

相关文章

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Redis中的常用的五种数据类型详解

《Redis中的常用的五种数据类型详解》:本文主要介绍Redis中的常用的五种数据类型详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis常用的五种数据类型一、字符串(String)简介常用命令应用场景二、哈希(Hash)简介常用命令应用场景三、列表(L

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

C#中的 Dictionary常用操作

《C#中的Dictionary常用操作》C#中的DictionaryTKey,TValue是用于存储键值对集合的泛型类,允许通过键快速检索值,并且具有唯一键、动态大小和无序集合的特性,常用操作包括添... 目录基本概念Dictionary的基本结构Dictionary的主要特性Dictionary的常用操作

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr