iOS开发之目录文件管理

先获得Documents路径

class ViewController: UIViewController {
    // MARK: - Properties
    lazy var documentsPath: String = {
        let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
        return paths.first!
    }()
}

先实现目录的查询、创建与删除吧,??检查目录是否存在??

func directoryExistsAtPath(path: String) -> Bool {
        let fileManager = NSFileManager.defaultManager()
        let result = fileManager.fileExistsAtPath(path)

        if result {
            print("directory exists...")
        } else {
            print("directory not exists...")
        }

        return result
    }

??创建目录??

func createDirectoryAtPath(path: String) {
        let fileManager = NSFileManager.defaultManager()
        do {
            try fileManager.createDirectoryAtPath(path,
                withIntermediateDirectories: false, attributes: nil)//path:目录路径,withIntermediateDirectories:告诉系统上级目录是否存在,true表示需要创建多级目录,attributes:文件夹相关属性
        } catch {
            print("create directory failed...")
        }
    }

??删除目录??

func deleteDirectoryAtPath(path: String) {
        let fileManager = NSFileManager.defaultManager()
        do {
            try fileManager.removeItemAtPath(path)
        } catch {
            print("delete directory failed...")
        }
    }

再来看看文件的相关操作,其实和目录大同小异

??检查文件??

func fileTest() {
        // ~/Documents/data.txt

        // 检查文件是否存在,如果不存在,则创建文件
        let path = "\(documentsPath)/data.txt"
        print(path)

        if !fileExistsAtPath(path) {
            createFileAtPath(path)
            fileExistsAtPath(path)
        }

        // 删除目录
        deleteFileAtPath(path)

        // 删除之后,再检查一次
        fileExistsAtPath(path)
    }

    func fileExistsAtPath(path: String) -> Bool {
        let fileManager = NSFileManager.defaultManager()
        let result = fileManager.fileExistsAtPath(path)

        if result {
            print("file exists...")
        } else {
            print("file not exists...")
        }

        return result
    }

??创建文件??

func createFileAtPath(path: String) {
        let fileManager = NSFileManager.defaultManager()
        fileManager.createFileAtPath(path, contents: nil, attributes: nil)//path代表文件路径,contents代表想要写入文件的内容,attributes代表文件相关属性
    }

??删除文件??

func deleteFileAtPath(path: String) {
        let fileManager = NSFileManager.defaultManager()
        do {
            try fileManager.removeItemAtPath(path)
        } catch {
            print("delete directory failed...")
        }
    }

很容易比较出不同点在于创建和删除时的方法,创建目录是

.createDirectoryAtPath

创建文件是

.createFileAtPath

删除,呃,删除都是

.removeItemAtPath

时间: 2024-10-05 19:49:14

iOS开发之目录文件管理的相关文章

IOS开发的目录结构

http://www.itjhwd.com/iosmolukaifa/ 目录结构 个人总结: ================================================================================================= ModelsSections    module1        Views    module2        ViewsGenerals    Views     classes categories Ma

【转】iOS开发-文件管理(一)

iOS开发-文件管理(一) 一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立.封闭.安全的空间,叫做沙盒.它一般存放着程序包文件(可执行文件).图片.音频.视频.plist文件.sqlite数据库以及其他文件. 每个应用程序都有自己的独立的存储空间(沙盒) 一般来说应用程序之间是不可以互相访问 模拟器沙盒的位置 /User/userName/Library/Application Support/iPhone Simulator 当我们创建应用程序时,在每个沙盒中

在IOS开发中,项目的目录结构如何搭建?

网上有很多关于IOS开发的学习资料.然而却很少有关于设计一个项目时,如何设计其目录结构?这对于自学IOS的程序猿们,无疑有诸多不利.接下来,我就简单的谈下真正在公司中,项目的目录结构如何搭建: 以上为第一种,先按照功能模块进行划分,然后遵循MVC设计模式,分别设置model,view,control子文件夹.对于非项目模块类,以及一些自己写的一些分类,第三方框架等等,存储在other中,如上图所示. 至于另外一种方案,则是先以MVC进行划分,然后针对于model,view,control,进行子

IOS开发-学习目录

文笔较差,就不多说废话.现在断断续续看了快一个月的ios开发了,所以写一个目前觉得比较适合自己的教程做个目录,今后的学习主要就按这个目录进行. 1.<objective-c基础教程>下载地址:http://download.csdn.net/detail/qing2005cheng/4992186 本书主要适合接触了一点objective-c\c\c++语法之后看,知识点介绍得比较连贯,按着上面的例子做的,对一些平时没注意的语法等东西都有介绍. 2.ios开发系列博客文章:http://www

iOS项目管理:目录结构和开发流程

iOS项目管理:目录结构和开发流程 最近正在做一个大版本的更新,现在在重构中.... 发现很多人在一个项目的开始不知道开发流程是什么,也不是非常清晰的知道一个项目该有目录结构.如果项目小或者是在做第一版的时候都还能应付的来,但一次比一次更新的更困难.原因就是在你项目的刚开始一个合理的目录结构,没有一个系统管理.时间久了类多了,就一头雾水.   目录结构 AppDelegate Models Macro General Helpers Utils Sections Resources 一个合理的目

【热门收藏】iOS开发人员必看的精品资料(100个)——下载目录

iPhone.iPad产品风靡全球,巨大的用户群刺激着iOS软件开发需求,然而国内人才缺口很大,正处于供不应求的状态,ios开发前景大好.我们整理了51CTO下载中心100份热门的ios开发资料,做了一个地址收藏目录,方便大家选择性下载.里边均是好资料,相信对学习ios开发有所帮助.目录下载地址:http://down.51cto.com/data/416672 附件预览如下: iOS游戏开发之Unity3D引擎系列 http://down.51cto.com/zt/399 iPadian软件:

iOS开发总结——项目目录结构

1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web开发的目录习惯我整理了自己的目录结构.分享一下,欢迎交流. 2.我的项目目录结构 项目目录 ├── ThirdLib(三方库) │ ├── SDWebImage │ └── AFNetworking ├── Framework(自己封装的类库) ├── General(通用类目录) │ ├── Cl

《iOS开发进阶》书籍目录

第一部分:iOS开发工具 第二部分:iOS开发实践 第10章 理解内存管理 10.1 引用计数 10.1.1 什么是引用计数,原理是什么 10.1.2 我们为什么需要引用计数 10.1.3 不要向已经释放的对象发送消息 10.1.4 循环引用(reference cycles)问题 10.1.5 使用Xcode检测循环引用 10.2 使用ARC 10.2.1 Automatic Reference Count 10.2.2 Core Foundation对象的内存管理 第11章 掌握GCD 11

IOS开发系列—Objective-C之Foundation框架(转)

概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有: Foundation概述 常用结构体 日期 字符串 数组 字典 装箱和拆箱 反射 拷贝 文件操作 归档 Foundation概述 为什么前面说的内