• 【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