-
【NSFileManager的其他常用方法 创建文件等 Objective-C语言】
一、NSFileManager的其他常用方法——创建文件
1.在指定的目录创建文件
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
例如,我现在想要干嘛呢,想要在桌面上创建1个文件
先拿到manager对象啊,
FileManager *manager = [FileManager defaultManager];
//创建1个文件很简单,就调用这个文件管理员的方法,叫做createFileAtPath
[manager createFileAtPath:(nonnull NSString *)path contents:(nullable NSData *) attributes:(nullable NSDictionary< NSString *,id> *)];
第一个参数:(nonnull NSString *)path,不用解释了,是不是路径,
这个是路径啊,就是你创建的这个文件在哪儿,
我给个桌面上的路径,
@“/Users/Apple/Desktop/haha.txt”
第二个参数:contents:(nullable NSData *),就是这个文件的内容,
第三个参数:attributes:(nullable NSDictionary< NSString *,id> *)
就是这个文件的属性,
就是你创建这个文件的时候,你可以指定这个文件的属性,例如,你可以指定这个文件的创建时间,修改时间,你都可以指定的啊,
但是你如果说,你不想指定,你就希望它用系统的默认值,那就给个什么呢,给个nil
给个nil,它就使用系统的默认值了,
我要说的重点是第二个参数:contents:(nullable NSData *)
我们刚刚说,第二个参数什么意思啊,是不是这个文件的内容啊,那这个文件的内容,能不能给个字符串呢,
不能,为什么,因为这个参数是什么类型的,NSData类型的,记住,这个需要你理解一下啊,这个NSData是什么意思,
存储在我们这个磁盘上的任何文件,都是以二进制的形式存储的,
所以第二个参数什么参数呢,要求你给这个文件的二进制数据,
就是这个文件的二进制数据是什么,你把那个二进制数据给我就可以了,
所以,第二个参数是文件的内容,要求是文件的二进制的内容,
NSData对象,就是专门用来保存二进制数据的,
问题来了,二进制,我靠,我怎么写啊,
你会写吗,不会
那怎么办呢,很简单,
例如,我有个字符串,NSString *str = @“上海浦东区中山路23号”
这个字符串提供一个方法,这个字符串本身自己有一个方法,它可以把这个字符串转成二进制,也就是说,把这个字符串转成一个二进制数据,什么类型的,NSData类型的,
这个方法叫什么呢,叫dataUsingEncoding,这个方法的签名如下:
- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding
你看它返回一个什么东西,NSdata对象,
-
相关阅读:
基于springboot的实习管理系统设计与实现-计算机毕业设计源码
第十届蓝桥杯大赛Python组省赛
SAP PO运维(三):XML消息监控
Linux文件的atime, mtime, ctime属性以及修改
线程与进程的关联
Java继承
ZnMoO4 : Dy3+纳米荧光粉
如何隐藏 Apache 的版本号和操作系统信息
Vue中如何为id绑定内联计算属性
Arnold渲染器适合什么样的电脑配置
-
原文地址:https://blog.csdn.net/madoca/article/details/128017411