Файловый ввод-вывод
Структура File представляет открытый файл (она является обёрткой над файловым дескриптором) и даёт возможность чтения/записи этого файла.
Из-за того, что многие вещи могут пойти не так в процессе файлового
ввода-вывода, все методы File возвращают тип
io::Result<T>, который является псевдонимом для
Result<T, io::Error>.
Это делает явными ошибки всех операций ввода-вывода. Благодаря этому, программист может увидеть все пути отказов и обрабатывать их упреждающей форме.