Thanks to visit codestin.com
Credit goes to docs.rs

is_readable

Function is_readable 

Source
pub fn is_readable(path: impl AsRef<Path>) -> Result<bool>
Expand description

Check if current process has permission to read.

§Errors

Same as access_syscall.

§Examples

use permissions::is_readable;
use std::io;

fn main() -> io::Result<()> {
    println!("{}", is_readable("src/lib.rs")?);
    println!("{}", is_readable("/root")?);
    println!("{}", is_readable("/")?);

    // may return `Err(kind: PermissionDenied)`
    // println!("{}", is_readable("/root/any")?);

    Ok(())
}
Examples found in repository?
examples/is_file_example.rs (line 16)
10fn main() -> io::Result<()> {
11    // Asserts with files
12    let this_program_path = env::args().next().unwrap();
13    assert!(is_executable(&this_program_path)?);
14
15    let this_file = "examples/example2.rs";
16    assert!(is_readable(&this_file)?);
17
18    let temp_file = "temp.txt";
19    File::create(temp_file)?;
20    assert!(is_writable(&temp_file)?);
21    assert!(is_removable(&temp_file)?);
22    fs::remove_file(temp_file)?;
23
24    // -------------------------
25
26    // Let's try with directories too
27    let temp_directory = "temp/";
28    fs::create_dir(temp_directory)?;
29    assert!(is_readable(&temp_directory)?);
30    assert!(is_writable(&temp_directory)?);
31    assert!(is_executable(&temp_directory)?);
32    assert!(is_removable(&temp_directory)?);
33    fs::remove_dir(temp_directory)?;
34
35    println!("Finished.");
36    Ok(())
37}