iOS文件操作学习3-28
来源:互联网 发布:自响应留言板php 编辑:程序博客网 时间:2024/06/06 01:38
文件操作
沙盒机制只能访问本目录下的文件
默认情况下三个文件:Documents, Library(caches,preference) 和 tmp
Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。
/Home目录
let homeDirectory = NSHomeDirectory()
//Documents目录 苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包含此目录
let documentPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let documentPath = documentPaths[0] as! String
//let documentPath = homeDirectory + "/Documents"
//Library目录 这个目录下有2个子目录:Caches缓存 , Preferences偏好设置,不应该直接创建偏好设置文件而使用NSUserDefaults类
let libraryPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let libraryPath = libraryPaths[0] as! String
//let libraryPath = homeDirectory + "/Library"
//Cache目录 主要存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出时删除
let cachesPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let cachesPath = cachesPaths[0] as! String
//let cachesPath = homeDirectory + "/Library/Caches"
//tmp目录 用于存放临时文件,保持应用程序再次启动过程中不需要的信息,重启后清空
let tmpDir = NSTemporaryDirectory()
//let tmpDir = homeDirectory + "/tmp"
//操作文件
var fileManager = NSFileManager.defaultManager()
var error : NSError?
let mydir1 = NSHomeDirectory() + "/Documents/myfolder/images"
let mydir2 = NSHomeDirectory() + "/Documents/myfolder/films"
let mydir3 = NSHomeDirectory() + "/Documents/myfolder/musics"
let mydir4 = NSHomeDirectory() + "/Documents/myfolder/files"
//withIntermediateDirectories 设置为true, 代表中间所有的路径目录如果不存在,都会创建
var isSuccess : Bool = fileManager.createDirectoryAtPath(mydir1, withIntermediateDirectories: true, attributes: nil, error: &error)
fileManager.createDirectoryAtPath(mydir2, withIntermediateDirectories: true, attributes: nil, error: &error)
fileManager.createDirectoryAtPath(mydir3, withIntermediateDirectories: true, attributes: nil, error: &error)
fileManager.createDirectoryAtPath(mydir4, withIntermediateDirectories: true, attributes: nil, error: &error)
//创建文件可以通过writeToFile方法将一些对象写入到文件中
var filePath = mydir4 + "/appInfo.txt"
var info = "this is test text"
info.writeToFile(filePath, atomically: true, encoding: NSUTF8StringEncoding, error: &error)
//保存图片
var image = UIImage(named: "2.jpg")
var data : NSData = UIImageJPEGRepresentation(image, 1.0)
var data1 : NSData = UIImagePNGRepresentation(image)
data.writeToFile(mydir1 + "/2.jpg", atomically: true)
data1.writeToFile(mydir1 + "/2.png", atomically: true)
//保存NSAarry
var array = NSArray(objects: "111","222","333")
array.writeToFile(mydir4 + "/array.plist", atomically: true)
//保存NSDictionary
var dic = NSDictionary(objects: ["1111","2222","3333"], forKeys: ["1","2","3"])
dic.writeToFile(mydir4 + "/dictionary.plist", atomically: true)
//判断目录是否存在
var isExist = fileManager.fileExistsAtPath(filePath)
//移动文件
var filePath2 = mydir1 + "/appInfo.txt"
fileManager.moveItemAtPath(filePath, toPath: filePath2, error: &error)
//移动,重命名
var filePath3 = mydir1 + "/appInfo2.txt"
fileManager.moveItemAtPath(filePath2, toPath: filePath3, error: &error)
//拷贝,重命名
var filePath4 = mydir1 + "/appInfoCopy.txt"
fileManager.copyItemAtPath(filePath3, toPath: filePath4, error: &error)
//获取目录下所有文件
var fileArray = fileManager.subpathsAtPath(mydir1)
//println(fileArray)
//获取文件各项属性
var fileAttributes : [NSObject : AnyObject]? = NSFileManager.defaultManager().attributesOfItemAtPath(filePath2, error: &error)
var modificationDate = fileAttributes![NSFileModificationDate] as! String
println(modificationDate) //2015-09-03 12:04:39 +0000
//删除文件
fileManager.removeItemAtPath(filePath4, error: &error)
//删除目录下所有文件
//方法1
var fileArray2 : [AnyObject]? = fileManager.subpathsAtPath(mydir1)
for f in fileArray2! {
fileManager.removeItemAtPath(mydir1 + "/\(f)", error: &error)
}
//方法2
fileManager.removeItemAtPath(mydir1, error: &error)
fileManager.createDirectoryAtPath(mydir1, withIntermediateDirectories: true, attributes: nil, error: &error)
沙盒机制只能访问本目录下的文件
默认情况下三个文件:Documents, Library(caches,preference) 和 tmp
Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。
/Home目录
let homeDirectory = NSHomeDirectory()
//Documents目录 苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包含此目录
let documentPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let documentPath = documentPaths[0] as! String
//let documentPath = homeDirectory + "/Documents"
//Library目录 这个目录下有2个子目录:Caches缓存 , Preferences偏好设置,不应该直接创建偏好设置文件而使用NSUserDefaults类
let libraryPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let libraryPath = libraryPaths[0] as! String
//let libraryPath = homeDirectory + "/Library"
//Cache目录 主要存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出时删除
let cachesPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let cachesPath = cachesPaths[0] as! String
//let cachesPath = homeDirectory + "/Library/Caches"
//tmp目录 用于存放临时文件,保持应用程序再次启动过程中不需要的信息,重启后清空
let tmpDir = NSTemporaryDirectory()
//let tmpDir = homeDirectory + "/tmp"
//操作文件
var fileManager = NSFileManager.defaultManager()
var error : NSError?
let mydir1 = NSHomeDirectory() + "/Documents/myfolder/images"
let mydir2 = NSHomeDirectory() + "/Documents/myfolder/films"
let mydir3 = NSHomeDirectory() + "/Documents/myfolder/musics"
let mydir4 = NSHomeDirectory() + "/Documents/myfolder/files"
//withIntermediateDirectories 设置为true, 代表中间所有的路径目录如果不存在,都会创建
var isSuccess : Bool = fileManager.createDirectoryAtPath(mydir1, withIntermediateDirectories: true, attributes: nil, error: &error)
fileManager.createDirectoryAtPath(mydir2, withIntermediateDirectories: true, attributes: nil, error: &error)
fileManager.createDirectoryAtPath(mydir3, withIntermediateDirectories: true, attributes: nil, error: &error)
fileManager.createDirectoryAtPath(mydir4, withIntermediateDirectories: true, attributes: nil, error: &error)
//创建文件可以通过writeToFile方法将一些对象写入到文件中
var filePath = mydir4 + "/appInfo.txt"
var info = "this is test text"
info.writeToFile(filePath, atomically: true, encoding: NSUTF8StringEncoding, error: &error)
//保存图片
var image = UIImage(named: "2.jpg")
var data : NSData = UIImageJPEGRepresentation(image, 1.0)
var data1 : NSData = UIImagePNGRepresentation(image)
data.writeToFile(mydir1 + "/2.jpg", atomically: true)
data1.writeToFile(mydir1 + "/2.png", atomically: true)
//保存NSAarry
var array = NSArray(objects: "111","222","333")
array.writeToFile(mydir4 + "/array.plist", atomically: true)
//保存NSDictionary
var dic = NSDictionary(objects: ["1111","2222","3333"], forKeys: ["1","2","3"])
dic.writeToFile(mydir4 + "/dictionary.plist", atomically: true)
//判断目录是否存在
var isExist = fileManager.fileExistsAtPath(filePath)
//移动文件
var filePath2 = mydir1 + "/appInfo.txt"
fileManager.moveItemAtPath(filePath, toPath: filePath2, error: &error)
//移动,重命名
var filePath3 = mydir1 + "/appInfo2.txt"
fileManager.moveItemAtPath(filePath2, toPath: filePath3, error: &error)
//拷贝,重命名
var filePath4 = mydir1 + "/appInfoCopy.txt"
fileManager.copyItemAtPath(filePath3, toPath: filePath4, error: &error)
//获取目录下所有文件
var fileArray = fileManager.subpathsAtPath(mydir1)
//println(fileArray)
//获取文件各项属性
var fileAttributes : [NSObject : AnyObject]? = NSFileManager.defaultManager().attributesOfItemAtPath(filePath2, error: &error)
var modificationDate = fileAttributes![NSFileModificationDate] as! String
println(modificationDate) //2015-09-03 12:04:39 +0000
//删除文件
fileManager.removeItemAtPath(filePath4, error: &error)
//删除目录下所有文件
//方法1
var fileArray2 : [AnyObject]? = fileManager.subpathsAtPath(mydir1)
for f in fileArray2! {
fileManager.removeItemAtPath(mydir1 + "/\(f)", error: &error)
}
//方法2
fileManager.removeItemAtPath(mydir1, error: &error)
fileManager.createDirectoryAtPath(mydir1, withIntermediateDirectories: true, attributes: nil, error: &error)
0 0
- iOS文件操作学习3-28
- iOS学习笔记-----文件操作
- IOS学习之plist文件的操作
- ios学习笔记:文件操作(NSFileManager)iOS的沙盒中
- 关于IOS文件目录以及文件操作的学习
- linux文件操作学习3
- linux文件操作学习3
- 【初学】iOS学习笔记-本地化之Plist文件读写操作
- iOS学习笔记——文件操作(NSFileManager)
- iOS学习笔记——文件操作(NSFileManager
- iOS学习笔记——文件操作(NSFileManager)
- ios学习笔记之文件操作(NSFileManager)
- ios客户端学习-文档存储/路径处理/文件操作
- iOS学习笔记 ——文件操作(NSFileManager)
- iOS 文件相关操作
- iOS中的文件操作
- iOS开发 文件操作
- ios 文件操作实例
- 303. Range Sum Query - Immutable
- 数学基础公开课汇总
- HDU-5652 India and China Origins(并查集)
- dfs
- Collections工具类下的sort方法
- iOS文件操作学习3-28
- 求四个数的最大公约数
- uva 10254——The Priest Mathematician
- 未知图片宽高水平垂直居中
- 集合框架--TreeSet集合
- 安装开源在线教育平台edX的一个简单方法
- 第五周项目1 三角形类练习(4)
- 本月有几天
- File 类