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

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结