#patterns #file #trivial

file

For Rust 1.25 and older. 1-liner convenience functions for reading and writing files

5 releases (stable)

Uses old Rust 2015

1.1.2 May 9, 2018
1.1.1 Mar 29, 2017
1.0.0 Jul 17, 2016
0.1.0 Jul 14, 2016

#645 in Rust patterns

Download history 120/week @ 2021-04-07 101/week @ 2021-04-14 178/week @ 2021-04-21 86/week @ 2021-04-28 92/week @ 2021-05-05 72/week @ 2021-05-12 33/week @ 2021-05-19 59/week @ 2021-05-26 51/week @ 2021-06-02 63/week @ 2021-06-09 68/week @ 2021-06-16 36/week @ 2021-06-23 55/week @ 2021-06-30 76/week @ 2021-07-07 78/week @ 2021-07-14 67/week @ 2021-07-21

532 downloads per month
Used in 8 crates (7 directly)

MIT license

6KB
60 lines

File I/O 1-liners for old Rust

This crate is obsolete since Rust 1.26. If you have a file-related Rust project and would like to use this crate name, let me know!

Vec<u8>

file::get() and file::put() — read and write Vec<u8> with one function call on Rust before 1.26.

Use std::fs::read("path")? and std::fs::write("path", data)? in Rust 1.26 or later.

extern crate file;

fn example() -> file::Result<()> {
    let data = file::get("some_input_file.dat")?;
    file::put("a.out", &data)?;
    Ok(())
}

file::Result is an alias for std::io::Result. You can use Result<(), Box<std::error::Error>> in places where you don't want to expose the error type.

String

file::get_text() and file::put_text() — read and write String with one function call.

Use std::fs::read_to_string("path")? and and std::fs::write("path", string)? in Rust 1.26 or later.

extern crate file;

fn example() -> file::Result<()> {
    let string = file::get_text("hello.txt")?;
    file::put_text("bye.txt", &string)?;
    Ok(())
}

No runtime deps