Класс File
Класс File представляет собой дескриптор открытого файла в файловой системе.
Он позволяет выполнять чтение, запись, позиционирование и управление метаданными файла.
Объект File можно получить с помощью методов open, create,
create_new или через структуру OpenOptions.
Синтаксис
use std::fs::File;
File::open(path)
File::create(path)
File::create_new(path)
Параметром методов выступает путь к файлу в виде строки, Path
или PathBuf. Методы возвращают Result с объектом
File или ошибкой ввода-вывода.
Пример
Давайте создадим файл "abcde.txt" и запишем в него строку:
use std::fs::File;
use std::io::Write;
fn main()
{
let mut file = File::create("abcde.txt").unwrap();
file.write_all(b"abcde").unwrap();
}
Результат выполнения кода - созданный файл "abcde.txt" с содержимым "abcde".
Пример
Давайте откроем созданный файл и прочитаем его содержимое:
use std::fs::File;
use std::io::Read;
fn main()
{
let mut file = File::open("abcde.txt").unwrap();
let mut res = String::new();
file.read_to_string(&mut res).unwrap();
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте получим метаданные файла, такие как размер и права доступа:
use std::fs::File;
fn main()
{
let file = File::open("abcde.txt").unwrap();
let meta = file.metadata().unwrap();
println!("{}", meta.len());
}
Результат выполнения кода:
5
Смотрите также
-
метод
open,
который открывает существующий файл только для чтения -
метод
create,
который создаёт новый файл или перезаписывает существующий -
метод
create_new,
который создаёт новый файл и возвращает ошибку, если он уже существует -
метод
OpenOptions::new,
который настраивает режим открытия файла