在 macOS 和 Linux 上使用 Swift 轻松处理文件、目录和路径的工具。
您正在开发一个 CLI,并且您希望:
您可以将 FileUtils
与 Guaka 结合使用来创建出色的命令行应用程序。
注意:目前,该库仅处理文本文件的内容。(请查看此文件的 TODO 部分)。
创建文件
File(path: path, fileMode: .write)
// or
File.create(path: path)
删除文件
File.delete(atPath: path)
读取文件内容
let content = File.read(atPath: path)
// or
let content = String.read(contentsOfFile: path)
写入文件内容
File.write(string: "ABCDEF", toPath: path, )
// or
"AAAAA".write(toFile: path)
检查文件是否存在
File.exists(path)
获取临时文件和目录
let tmp = Path.tempPath
// or
let tmp = Path.tempFile
// or
let tmp = Path.tempFileName(withName: "abc.txt")
获取当前目录
let path = Path.currentDirectory
获取主目录
let path = Path.home
检查路径是否存在
let exists = Path.exists(path)
检查路径下的文件类型
let type = Path.type(ofPath: path)
type 是 PathType
枚举的成员。此枚举定义了 directory
、executable
、link
和 file
。
展开路径中的波浪号 (~)
let expanded = Path.expand("~/Documents")
// expanded is "/Users/YourUser/Documents"
获取路径的基本名称和目录名称
let base = Path.baseName(forPath: "/Documents/this/is/mypath")
// base is "mypath"
let dir = Path.dirName(forPath: "/Documents/this/is/mypath")
// dir is "/Documents/this/is"
创建目录
Directory.create(atPath: path)
删除目录
Directory.delete(atPath: path)
枚举目录内容
let (files, directories) = Directory.contents(ofDirectory: path)!
这将返回一个包含在该路径下找到的所有文件和目录的元组。
您可以使用 Swift Package Manager (SPM) 和 Carthage 安装 File。
在您的 Package.swift
中添加 FileSystem 作为依赖项。
import PackageDescription
let package = Package(name: "YourPackage",
dependencies: [
.Package(url: "https://github.com/getGuaka/FileUtils.git", majorVersion: 0),
]
)
github "getGuaka/FileUtils"
测试可以在这里找到。
运行它们使用:
swift test
只需发送一个 PR!我们不咬人;)