std.io.file
text function
pub fn text(path: string): ?string
The whole content as text, decoded as UTF-8 — bytes that are not valid UTF-8 become
U+FFFD. For binary data use bytes. null when the file does not exist or is not readable.
stdlib/std/io/file.lyr:40
bytes function
pub fn bytes(path: string): ?uint8[]
The raw bytes, undecoded — what text cannot give: its UTF-8 decoding turns invalid bytes
into U+FFFD. null when the file is not readable; an EMPTY array is an empty file.
stdlib/std/io/file.lyr:44
lines function
pub fn lines(path: string): ?string[]
The lines of a file, terminators removed, so whether the file used CRLF or LF is no longer
visible. null when the file is not readable; an EMPTY array is an empty file.
stdlib/std/io/file.lyr:48
writeText function
pub fn writeText(path: string, content: string): bool
Writes text (UTF-8), replacing an existing file. true on success.
stdlib/std/io/file.lyr:51
appendText function
pub fn appendText(path: string, content: string): bool
Appends to an existing file or creates it. true on success.
stdlib/std/io/file.lyr:54
exists function
pub fn exists(path: string): bool
Whether something — file or directory — exists at the path.
stdlib/std/io/file.lyr:57
remove function
pub fn remove(path: string): bool
true when the file is gone afterwards, including when it never existed.
stdlib/std/io/file.lyr:60
writeBytes function
pub fn writeBytes(path: string, data: uint8[]): bool
Writes raw bytes, replacing an existing file. true on success — the writeText
convention. (v1.14: the first native whose parameter is an array.)
stdlib/std/io/file.lyr:64
appendBytes function
pub fn appendBytes(path: string, data: uint8[]): bool
Appends raw bytes to an existing file or creates it. true on success.
stdlib/std/io/file.lyr:67
size function
pub fn size(path: string): ?int
The size in bytes, or null when the file does not exist.
stdlib/std/io/file.lyr:74
isFile function
pub fn isFile(path: string): bool
Whether the path names an existing FILE.
stdlib/std/io/file.lyr:76
isDirectory function
pub fn isDirectory(path: string): bool
Whether the path names an existing DIRECTORY.
stdlib/std/io/file.lyr:78
copy function
pub fn copy(from: string, to: string): bool
Copies. false when the source is missing or the target is not writable.
stdlib/std/io/file.lyr:81
move function
pub fn move(from: string, to: string): bool
Moves or renames; the same operation on every file system.
stdlib/std/io/file.lyr:84
createDir function
pub fn createDir(path: string): bool
Creates one directory; the parent must exist. createDirAll creates the chain.
stdlib/std/io/file.lyr:87
createDirAll function
pub fn createDirAll(path: string): bool
Creates missing parent directories too. An existing directory counts as success.
stdlib/std/io/file.lyr:90
removeDir function
pub fn removeDir(path: string): bool
Deletes an EMPTY directory. There is no recursive delete; a caller that needs one writes the loop visibly.
stdlib/std/io/file.lyr:94
listDir function
pub fn listDir(path: string): string[]
The entries of a directory: names rather than paths, sorted alphabetically.
An empty array for an unreadable directory rather than a ?string[], as in readLines. A
caller that needs the difference asks isDirectory first.
stdlib/std/io/file.lyr:100
tempDir function
pub fn tempDir(): string
A path in the system's temporary directory. Does NOT create the file.
stdlib/std/io/file.lyr:103
joinPath function
pub fn joinPath(left: string, right: string): string
Joins two path parts, with neither a doubled nor a missing separator.
stdlib/std/io/file.lyr:117
fileName function
pub fn fileName(path: string): string
The last component. "a/b/c.txt" becomes "c.txt".
stdlib/std/io/file.lyr:150
parentDir function
pub fn parentDir(path: string): string
Everything before the last separator, or "" when there is none.
stdlib/std/io/file.lyr:156
extension function
pub fn extension(path: string): string
The extension WITHOUT the dot. "" when there is none.
A leading dot does not count: ".gitignore" has no extension, that is its name. This rule
differs between languages, so it is stated here.
stdlib/std/io/file.lyr:172
stem function
pub fn stem(path: string): string
The name without its extension. "a/b/c.txt" becomes "c".
stdlib/std/io/file.lyr:188
withExtension function
pub fn withExtension(path: string, ext: string): string
Replaces the extension. An empty extension removes it.
stdlib/std/io/file.lyr:198
isAbsolute function
pub fn isAbsolute(path: string): bool
Does the path start at the root? Recognises /x and C:\x.
stdlib/std/io/file.lyr:206