Skip to content

Fs

Module: std.fs
Source: std/fs.zn

Usage Example

use std.fs;
fn main() {
// create dir
Fs.create_dir("/tmp/demo").unwrap();
// write file
Fs.write("/tmp/demo/hello.txt", "hello fs").unwrap();
// read file
let text = Fs.read_to_string("/tmp/demo/hello.txt").unwrap();
@println("{}", text);
// list dir
let entries = Fs.read_dir("/tmp/demo").unwrap();
@println("entries: {}", entries.len());
}

Fs

Namespace for filesystem operations


Fields:

// No Fields

Methods:

pub fn metadata(path: []const char) Result[Metadata, IoError];
pub fn symlink_metadata(path: []const char) Result[Metadata, IoError];
pub fn exists(path: []const char) bool;
pub fn remove_file(path: []const char) Result[void, IoError];
pub fn remove_dir(path: []const char) Result[void, IoError];
pub fn create_dir(path: []const char) Result[void, IoError];
pub fn rename(from: []const char, to: []const char) Result[void, IoError];
pub fn read_dir(path: []const char) Result[List[DirEntry], IoError];
pub fn read_to_string(path: []const char) Result[String, IoError];
pub fn write(path: []const char, contents: []const char) Result[usize, IoError];

File

Owned file handle. Closes itself on drop


Fields:

fd: c_int,
handle: *void,

Constructors:

pub fn open(path: []const char) Result[File, IoError];
pub fn create(path: []const char) Result[File, IoError];

Getters:

pub fn metadata(*const self) Result[Metadata, IoError];

Mutations:

pub fn read(*self, buf: *String) Result[usize, IoError];
pub fn read_exact(*self, buf: *String, n: usize) Result[usize, IoError];
pub fn read_to_string(*self, buf: *String) Result[usize, IoError];
pub fn write(*self, buf: []const char) Result[usize, IoError];
pub fn write_all(*self, buf: []const char) Result[usize, IoError];
pub fn sync_all(*const self) Result[void, IoError];

Interfaces:

  • core.ops : Drop

OpenOptions

Builder for File open flags


Fields:

read: bool,
write: bool,
append: bool,
truncate: bool,
create: bool,
create_new: bool,
mode: u32,

Constructors:

pub fn new() Self;

Setters:

pub fn read(self, value: bool) Self;
pub fn write(self, value: bool) Self;
pub fn append(self, value: bool) Self;
pub fn truncate(self, value: bool) Self;
pub fn create(self, value: bool) Self;
pub fn create_new(self, value: bool) Self;
pub fn mode(self, value: u32) Self;

Openers:

pub fn open(*const self, path: []const char) Result[File, IoError];

Metadata

File metadata snapshot


Fields:

len: u64,
is_dir: bool,
is_file: bool,
is_symlink: bool,
mode: u32,

Getters:

pub fn len(*const self) u64;
pub fn is_empty(*const self) bool;
pub fn is_dir(*const self) bool;
pub fn is_file(*const self) bool;
pub fn is_symlink(*const self) bool;
pub fn mode(*const self) u32;

DirEntry

Single entry from read_dir


Fields:

name: String,
path: String,
meta: Metadata,

Getters:

pub fn into_name(self) String;
pub fn into_path(self) String;
pub fn is_dir(*const self) bool;
pub fn is_file(*const self) bool;
pub fn is_symlink(*const self) bool;