Perfect为服务器端的Swift语言环境提供了一个管理文件存储的便捷方法。
首先,请在源程序代码开始部分声明PerfectLib
函数库:
import Perfectib
声明后您就随时可以使用Dir
目录对象查询和操作文件系统。
使用目录对象时,需要指定目录的绝对或相对路径:
let thisDir = Dir("/path/to/directory/")
使用exists
方法检查目录是否存在。返回结果是一个布尔值,真值表示目录存在,假值表示不存在。
let thisDir = Dir("/path/to/directory/")
thisDir.exists
调用name
方法可以返回当前目录对象的名称。注意名称不是路径,二者并不相同!
thisDir.name
调用parentDir
方法可以得到当前Dir
目录对象所指向上一级目录。如果不存在上一级目录,则返回nil。
let thisDir = Dir("/path/to/directory/")
let parent = thisDir.parentDir
调用path
方法可以得到当前目录对象所在的路径。
let thisDir = Dir("/path/to/directory/")
let path = thisDir.path
调用perms
方法返回UNIX风格的目录权限信息,返回值为一个PermissionMode
目录权限对象
thisDir.perms
比如:
print(thisDir.perms)
>> PermissionMode(rawValue: 29092)
根据用户提供的权限信息创建一个目录。沿该路径下的所有目录都会根据需要一并创建。
以下操作将采用默认权限(Owner目录所有者用户具有读、写、执行权限,用户组和其它用户具有读和执行权限)创建一个新的目录。
let newDir = Dir("/path/to/directory/newDirectory")
try newDir.create()
如果在创建目录时需要指定权限信息,请在调用前填写perms
参数:
let newDir = Dir("/path/to/directory/newDirectory")
try newDir.create(perms: [.rwxUser, .rxGroup, .rxOther])
如果创建目录过程中出现错误,该方法将抛出PerfectError.FileError
错误。
从文件系统中删除目录的方法:
let newDir = Dir("/path/to/directory/newDirectory")
try newDir.delete()
如果在删除过程中出现错误,该方法会抛出PerfectError.FileError
错误信息。
请使用setAsWorkingDir
来设置当前目录对象所指向的工作路径。
let thisDir = Dir("/path/to/directory/")
try thisDir.setAsWorkingDir()
返回一个新的目录对象,内容包含当前工作路径。
let workingDir = Dir.workingDir
请以闭包为回调参数调用forEachEntry
来遍历目录下的每一个节点子目录。
try thisDir.forEachEntry(closure: {
n in
print(n)
})