类
class Directory
public class Directory <: Iterable<FileInfo> {
public init(path: Path)
public init(path: String)
}
功能:对应文件系统中的目录,它提供创建、移动、复制、删除、查询属性以及遍历目录等能力。
说明:
非法路径指的是以下情况之一:
- 路径中包含非法字符,例如空格、制表符、换行符等;
- 路径中包含不合法的字符,例如特殊字符、控制字符等;
- 路径中包含不存在的目录或文件;
- 路径中包含无法访问的目录或文件,例如权限不足或被锁定等。
在输入路径时,应该避免使用非法字符,确保路径的合法性,以便正确地访问目标文件或目录。
父类型:
prop info
public prop info: FileInfo
功能:当前目录元数据信息。
类型:FileInfo
init(Path)
public init(path: Path)
功能:创建 Directory 实例。
参数:
异常:
- FSException - 如果路径非法,则抛异常。
init(String)
public init(path: String)
功能:创建 Directory 实例,支持绝对路径和相对路径,路径非法抛异常。
参数:
- path: String - 字符串形式的目录路径。
异常:
- FSException - 当路径不存在时,抛出异常。
- IllegalArgumentException - 当路径为空,或路径中存在空字符时,抛出异常。
static func create(Path, Bool)
public static func create(path: Path, recursive!: Bool = false): Directory
功能:创建目录。
可指定是否递归创建,如果需要递归创建,将逐级创建路径中不存在的目录。
参数:
返回值:
异常:
- FSException - 目录已存在时,抛出异常;非递归时中间有不存在的目录时抛出异常。
- IllegalArgumentException - 目录为空、目录为当前目录、目录为根目录,或目录中存在空字符时抛出异常。
static func create(String, Bool)
public static func create(path: String, recursive!: Bool = false): Directory
功能:创建目录。
可指定是否递归创建,如果需要递归创建,将逐级创建路径中不存在的目录。
参数:
返回值:
异常:
- FSException - 目录已存在时,抛出异常;非递归时中间有不存在的目录时抛出异常。
- IllegalArgumentException - 目录为空、目录为当前目录、目录为根目录,或目录中存在空字符时抛出异常。
static func createTemp(Path)
public static func createTemp(directoryPath: Path): Directory
功能:在指定目录下创建临时目录。
参数:
返回值:
异常:
- FSException - 目录不存在或创建失败时抛出异常。
- IllegalArgumentException - 目录为空或包含空字符时抛出异常。
static func createTemp(String)
public static func createTemp(directoryPath: String): Directory
功能:在指定目录下创建临时目录。
参数:
- directoryPath: String - 字符串形式的目录路径。
返回值:
异常:
- FSException - 目录不存在或创建失败时抛出异常。
- IllegalArgumentException - 目录为空或包含空字符时抛出异常。
func createFile(String)
public func createFile(name: String): File
功能:在当前 Directory 下创建指定名字的子文件。
参数:
- name: String - 子文件名,参数只接受不带路径前缀的字符串。
返回值:
异常:
- FSException - 当子文件名中含有路径信息或文件名已存在,抛出异常。
- IllegalArgumentException - 当文件名包含空字符时抛出异常。
func createSubDirectory(String)
public func createSubDirectory(name: String): Directory
功能:在当前 Directory 下创建指定名字的子目录。
参数:
- name: String - 子目录名,参数只接受不带路径前缀的字符串。
返回值:
异常:
- FSException - 当子目录名中含有路径信息、路径已存在或创建目录失败时,抛出异常。
- IllegalArgumentException - 当目录名中含有空字符时,抛出异常。
func directories()
public func directories(): Iterator<FileInfo>
功能:返回当前目录的子目录迭代器。
返回值:
返回值:目录是否为空,true 为空,false 不为空。
异常:
- FSException - 获取目录的成员信息失败时,抛出异常。
func directoryList()
public func directoryList(): ArrayList<FileInfo>
功能:返回当前目录的子目录列表。
返回值:
异常:
- FSException - 获取目录的成员信息失败时,抛出异常。
func entryList()
public func entryList(): ArrayList<FileInfo>
功能:返回当前目录的文件或子目录列表。
返回值:
异常:
- FSException - 获取目录的成员信息失败时,抛出异常。
func fileList()
public func fileList(): ArrayList<FileInfo>
功能:返回当前目录的子文件列表。
返回值:
异常:
- FSException - 获取目录的成员信息失败时,抛出异常。
func files()
public func files(): Iterator<FileInfo>
功能:返回当前目录的子文件迭代器。
返回值:
异常:
- FSException - 获取目录的成员信息失败时,抛出异常。
func isEmpty()
public func isEmpty(): Bool
功能:判断当前目录是否为空。
返回值:
- Bool - 为 true 时目录为空,为 false 时不为空。
异常:
- FSException - 如果判断过程中底层调用的系统接口发生错误,则抛异常。
func iterator()
public func iterator(): Iterator<FileInfo>
功能:返回当前目录的文件或子目录迭代器。
返回值:
异常:
- FSException - 获取目录的成员信息失败时,抛出异常。
class File
public class File <: Resource & IOStream & Seekable {
public init(path: Path, openOption: OpenOption)
public init(path: String, openOption: OpenOption)
}
功能:提供一些对文件进行操作的函数,包括文件的打开、创建、关闭、移动、复制、删除,文件的流式读写操作,查询属性以及一些其他函数。
说明:
非法路径指的是以下情况之一:
- 路径中包含非法字符,例如空格、制表符、换行符等;
- 路径中包含不合法的字符,例如特殊字符、控制字符等;
- 路径中包含不存在的目录或文件;
- 路径中包含无法访问的目录或文件,例如权限不足或被锁定等。
在输入路径时,应该避免使用非法字符,确保路径的合法性,以便正确地访问目标文件或目录。
注意:
父类型:
prop fileDescriptor
public prop fileDescriptor: FileDescriptor
功能:获取文件描述符信息。
prop info
public prop info: FileInfo
功能:获取文件元数据信息。
类型:FileInfo
prop length
public prop length: Int64
功能:获取文件头至文件尾的数据字节数。
类型:Int64
prop position
public prop position: Int64
功能:获取文件当前光标位置。
类型:Int64
prop remainLength
public prop remainLength: Int64
功能:获取文件当前光标位置至文件尾的数据字节数。
类型:Int64
init(Path, OpenOption)
public init(path: Path, openOption: OpenOption)
功能:创建一个 File 对象。
需指定文件路径和文件打开方式(读写权限),路径支持相对路径和绝对路径。
参数:
- path: Path - 文件路径。
- openOption: OpenOption - 文件打开选项。
异常:
- FSException - 如果创建操作时文件已存在、进行操作时文件不存在、文件的父目录不存在,或其他原因导致无法打开文件,则抛异常。
- IllegalArgumentException - 如果 path 为空路径或者 path 路径中包含空字符,则抛出异常。
init(String, OpenOption)
public init(path: String, openOption: OpenOption)
功能:创建 File 对象。
需指定文件路径和文件打开方式(读写权限),路径支持相对路径和绝对路径。
参数:
- path: String - 文件路径字符串。
- openOption: OpenOption - 文件打开选项。
异常:
- FSException - 如果创建操作时文件已存在、进行操作时文件不存在、文件的父目录不存在,或其他原因导致无法打开文件,则抛异常。
- IllegalArgumentException - 如果 path 是空字符串或者 path 包含空字符,则抛出异常。
static func create(Path)
public static func create(path: Path): File
功能:以只写模式创建指定路径的文件。
参数:
- path: Path - 文件路径。
返回值:
异常:
- FSException - 如果路径指向的文件的上级目录不存在或文件已存在,则抛出异常。
- IllegalArgumentException - 如果文件路径为空或包含空字符,则抛出异常。
static func create(String)
public static func create(path: String): File
功能:以只写模式创建指定路径的文件。
参数:
- path: String - 文件路径字符串。
返回值:
异常:
- FSException - 如果路径指向的文件的上级目录不存在或文件已存在,则抛出异常。
- IllegalArgumentException - 如果文件路径为空字符串或包含空字符,则抛出异常。
static func createTemp(Path)
public static func createTemp(directoryPath: Path): File
功能:在指定目录下创建临时文件。
创建的文件名称是 tmpFileXXXXXX 形式,不使用的临时文件应手动删除。
参数:
- directoryPath: Path - 目录路径。
返回值:
异常:
- FSException - 创建文件失败或路径不存在则抛出异常。
- IllegalArgumentException - 如果文件路径为空或包含空字符,则抛出异常。
static func createTemp(String)
public static func createTemp(directoryPath: String): File
功能:在指定目录下创建临时文件。
创建的文件名称是 tmpFileXXXXXX 形式,不使用的临时文件应手动删除。
参数:
- directoryPath: String - 目录路径字符串。
返回值:
异常:
- FSException - 创建文件失败或路径不存在则抛出异常。
- IllegalArgumentException - 如果文件路径为空字符串或包含空字符,则抛出异常。
static func openRead(Path)
public static func openRead(path: Path): File
功能:以只读模式打开指定路径的文件。
参数:
- path: Path - 文件路径。
返回值:
异常:
- FSException - 如果文件不存在,或文件不可读,则抛异常。
- IllegalArgumentException - 文件路径包含空字符则抛出异常。
static func openRead(String)
public static func openRead(path: String): File
功能:以只读模式打开指定路径的文件。
参数:
- path: String - 文件路径字符串。
返回值:
异常:
- FSException - 如果文件不存在,或文件不可读,则抛异常。
- IllegalArgumentException - 文件路径包含空字符则抛出异常。
static func readFrom(Path)
public static func readFrom(path: Path): Array<Byte>
功能:根据指定路径读取文件全部内容,以字节数组的形式返回其内容。
参数:
- path: Path - 文件路径。
返回值:
异常:
- FSException - 文件路径为空、文件不可读、文件读取失败,则抛出异常。
- IllegalArgumentException - 文件路径包含空字符则抛出异常。
static func readFrom(String)
public static func readFrom(path: String): Array<Byte>
功能:根据指定路径读取文件全部内容,以字节数组的形式返回其内容。
参数:
- path: String - 文件路径字符串。
返回值:
异常:
- FSException - 文件读取失败、文件关闭失败、文件路径为空、文件不可读,则抛出异常。
- IllegalArgumentException - 文件路径包含空字符则抛出异常。
static func writeTo(Path, Array<Byte>, OpenOption)
public static func writeTo(path: Path, buffer: Array<Byte>, openOption!: OpenOption = CreateOrAppend): Unit
功能:按照 openOption 打开指定路径的文件并将 buffer 写入。
参数:
- path: Path - 文件路径。
- buffer: Array<Byte> - 待写入的 bytes。
- openOption!: OpenOption - 文件打开选项,默认为 CreateOrAppend。
异常:
- FSException - 文件路径为空则抛出异常。
- IllegalArgumentException - 如果文件路径为空或包含空字符,则抛出异常。
static func writeTo(String, Array<Byte>, OpenOption)
public static func writeTo(path: String, buffer: Array<Byte>, openOption!: OpenOption = CreateOrAppend): Unit
功能:按照 openOption 打开指定路径的文件并将 buffer 写入。
参数:
- path: String - 文件路径字符串。
- buffer: Array<Byte> - 待写入的 bytes。
- openOption!: OpenOption - 文件打开选项,默认为 CreateOrAppend。
异常:
- FSException - 文件路径为空则抛出异常。
- IllegalArgumentException - 如果文件路径为空字符串或包含空字符,则抛出异常。
func canRead()
public func canRead(): Bool
功能:判断当前 File 对象是否可读。
该函数返回值由创建文件对象的 openOption 所决定,文件对象关闭后返回 false。
返回值:
- Bool - 返回 true 表示可读,返回 false 表示不可读或文件对象已关闭。
func canWrite()
public func canWrite(): Bool
功能:判断当前 File 对象是否可写。
该函数返回值由创建文件对象的 openOption 所决定,文件对象关闭后返回 false。
返回值:
- Bool - 返回 true 表示可写,false 表示不可写或文件对象已关闭。
func close()
public func close(): Unit
功能:关闭当前 File 对象。
异常:
- FSException - 如果关闭失败,则抛异常。
func flush()
public func flush(): Unit
功能:将缓冲区数据写入流。由于 File 不存在缓冲区,所以该函数没有具体作用。
func isClosed()
public func isClosed(): Bool
功能:判断当前 File 对象是否已关闭。
返回值:
- Bool - true 表示已关闭,false 表示未关闭。
func read(Array<Byte>)
public func read(buffer: Array<Byte>): Int64
功能:从文件中读出数据到 buffer 中。
参数:
返回值:
- Int64 - 读取成功,返回读取字节数,如果文件被读完,返回 0。
异常:
- IllegalArgumentException - 如果 buffer 为空,则抛出异常。
- FSException - 读取失败、文件已关闭,或文件不可读,则抛出异常。
func seek(SeekPosition)
public func seek(sp: SeekPosition): Int64
功能:将光标跳转到指定位置。
指定的位置不能位于文件头部之前,指定位置可以超过文件末尾,但指定位置到文件头部的最大偏移量不能超过当前文件系统允许的最大值,这个最大值接近当前文件系统的所允许的最大文件大小,一般为最大文件大小减去 4096 个字节。
参数:
- sp: SeekPosition - 指定光标跳转后的位置。
返回值:
- Int64 - 返回文件头部到跳转后位置的偏移量(以字节为单位)。
异常:
- FSException - 指定位置不满足以上情况时,或文件不能 seek 时均会抛异常。
func write(Array<Byte>)
public func write(buffer: Array<Byte>): Unit
功能:将 buffer 中的数据写入到文件中。
参数:
异常:
- FSException - 如果写入失败、只写入了部分数据、文件已关闭或文件不可写则抛出异常。
class HardLink
public class HardLink
功能: 提供处理文件系统硬链接相关接口。
static func create(Path, Path)
public static func create(link: Path, to!: Path): Unit
功能:创建一个新的硬链接到现有路径。如果新的路径存在,则不会覆盖。
参数:
异常:
- IllegalArgumentException - 参数中路径为空、或者包含空字符时抛出异常。
- FSException - 创建硬链接失败时,抛出异常。
static func create(String, String)
public static func create(link: String, to!: String): Unit
功能:创建一个新的硬链接到现有路径。如果新的路径存在,则不会覆盖。
参数:
异常:
- IllegalArgumentException - 参数中路径为空、或者包含空字符时抛出异常。
- FSException - 创建硬链接失败时,抛出异常。
class SymbolicLink
public class SymbolicLink
功能: 提供处理文件系统符号链接相关接口。
static func create(Path, Path)
public static func create(link: Path, to!: Path): Unit
功能:创建一个新的符号链接到现有路径。
参数:
异常:
- IllegalArgumentException - 参数中路径为空、或者包含空字符时抛出异常。
- FSException - 创建符号链接失败时,抛出异常。
static func create(String, String)
public static func create(link: String, to!: String): Unit
功能:创建一个新的符号链接到现有路径。
参数:
异常:
- IllegalArgumentException - 参数中路径为空、或者包含空字符时抛出异常。
- FSException - 创建符号链接失败时,抛出异常。
static func readFrom(Path, Bool)
public static func readFrom(path: Path, recursive!: Bool = false): Path
功能:获取指定符号链接的目标。当指定 'recursive' 为 'true' 时,表示跟踪指向最终目标的链接,并且返回目标的全路径,当指定 'recursive' 为 'false' 时,读取当前目标链接并且返回。
参数:
返回值:
- Path - 符号链接的目标地址。
异常:
- IllegalArgumentException - 参数中路径为空、或者包含空字符时抛出异常。
- FSException - 读取符号链接失败时,抛出异常。
static func readFrom(String, Bool)
public static func readFrom(path: String, recursive!: Bool = false): Path
功能:获取指定符号链接的目标。当指定 'recursive' 为 'true' 时,表示跟踪指向最终目标的链接,并且返回目标的全路径,当指定 'recursive' 为 'false' 时,读取当前目标链接并且返回。
参数:
返回值:
- Path - 符号链接的目标地址。
异常:
- IllegalArgumentException - 参数中路径为空、或者包含空字符时抛出异常。
- FSException - 读取符号链接失败时,抛出异常。