FileUtils

Build Status codecov Platform Language: Swift Carthage

在 macOS 和 Linux 上使用 Swift 轻松处理文件、目录和路径的工具。

为什么使用它?

您正在开发一个 CLI,并且您希望:

您可以将 FileUtilsGuaka 结合使用来创建出色的命令行应用程序。

注意:目前,该库仅处理文本文件的内容。(请查看此文件的 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 枚举的成员。此枚举定义了 directoryexecutablelinkfile

展开路径中的波浪号 (~)

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。

Swift Package Manager

在您的 Package.swift 中添加 FileSystem 作为依赖项。

  import PackageDescription

  let package = Package(name: "YourPackage",
    dependencies: [
      .Package(url: "https://github.com/getGuaka/FileUtils.git", majorVersion: 0),
    ]
  )

Carthage

github "getGuaka/FileUtils"

测试

测试可以在这里找到。

运行它们使用:

swift test

待办事项

贡献

只需发送一个 PR!我们不咬人;)