iOS - Swift NSFileManage 文件管理

本文介绍了Swift中用于文件管理的NSFileManager类,包括路径操作、路径判断和文件操作等核心功能,帮助开发者高效地进行iOS文件管理。

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

前言

    public class NSFileManager : NSObject
    public class NSFileHandle : NSObject, NSSecureCoding 
  • NSFileManager 是 Foundation 框架中用来管理和操作文件、目录等文件系统相关联内容的类。

1、路径操作

    let nfManager = NSFileManager.defaultManager()
        
    let folderUrl:NSURL = NSURL(string: NSHomeDirectory().stringByAppendingString("/Desktop/testFolder"))!
    let filerUrl:NSURL = NSURL(string: NSHomeDirectory().stringByAppendingString("/Desktop/testFile.txt"))!
        
    let srcUrl:NSURL = NSURL(string: NSHomeDirectory().stringByAppendingString("/Desktop/testFile.txt"))!
    let dstUrl:NSURL = NSURL(string: NSHomeDirectory().stringByAppendingString("/Desktop/testFolder/testFile.txt"))!
        
    // 创建文件夹
    /*
        public func createDirectoryAtPath(path: String, 
                    withIntermediateDirectories createIntermediates: Bool, 
                                    attributes: [String : AnyObject]?) throws
         
        path:文件夹路径
        createIntermediates:是否连同上一级路径一起创建,NO 并且上一级文件路径不存在时会创建失败。
        attributes:文件夹属性,nil 系统默认属性
    */
        
    try! nfManager.createDirectoryAtPath(folderUrl.path!, withIntermediateDirectories: true, attributes: nil)
        
    // 创建文件
    /*
        func createFileAtPath(path: String, 
                     contents data: NSData?, 
                   attributes attr: [NSObject : AnyObject]?) -> Bool
         
        path:文件路径
        data:文件内容,nil 空
        attr:文件属性,nil 系统默认属性
        Bool:文件创建成功时返回值为 true
    */
        
    let bl1:Bool = nfManager.createFileAtPath(filerUrl.path!, contents: nil, attributes: nil)
        
    // 拷贝文件
    /*
        如果 dstUrl 路径文件已存在,该方法会终止拷贝,并返回 false。
        如果 srcUrl 的最后一部分是符号链接,那么只有链接会被拷贝到新路径。
    */
        
    try! nfManager.copyItemAtPath(srcUrl.path!, toPath: dstUrl.path!)
        
    // 删除文件
    /*
        删除成功或者 url 为 nil 时返回 true,如果发生错误返回 false。如果使用 delegate 终止了删除文件的操作,
        则返回 true,如果使用 delegate 终止了删除目录的操作,则返回 false。
    */

    try! nfManager.removeItemAtPath(dstUrl.path!)
        
    // 移动文件
    /*
        如果 dstUrl 路径文件已存在,该方法会终止移动,并返回 false。如果 srcUrl 的最后一部分是符号链接,
        那么只有链接会被移动到新路径。链接所指向的内容仍然保持在现有的位置。
    */

    try! nfManager.moveItemAtPath(srcUrl.path!, toPath: dstUrl.path!)
        
    // 查找满足指定条件的路径
        
        // 返回其 URL。该方法不但可以获得标准系统目录,还可以用来创建临时路径。
        let url1:NSURL = try! nfManager.URLForDirectory(.DocumentDirectory, 
                                            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值