РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
932 of 1245 menu

Метод try_clone

Метод try_clone класса File создает новый объект File, который ссылается на тот же файл, что и исходный. Метод не принимает параметров. В отличие от метода clone, который может паниковать при ошибке, try_clone возвращает результат Result<File, Error>, что позволяет обработать возможную ошибку.

Синтаксис

file.try_clone()

Пример

Давайте откроем файл "test.txt" и создадим его клон с помощью метода try_clone:

use std::fs::File; fn main() { let file = File::open("test.txt").unwrap(); let cloned = file.try_clone().unwrap(); println!("{:?}", cloned); }

Результат выполнения кода:

File { fd: 4, path: "test.txt", read: true, write: false }

Пример

Давайте создадим клон файла и проверим, что оба объекта ссылаются на один и тот же файл:

use std::fs::File; fn main() { let file = File::open("test.txt").unwrap(); let cloned = file.try_clone().unwrap(); let meta1 = file.metadata().unwrap(); let meta2 = cloned.metadata().unwrap(); println!("{}", meta1.len() == meta2.len()); }

Результат выполнения кода:

true

Смотрите также

  • класс File,
    который представляет собой дескриптор открытого файла
  • метод open,
    который открывает файл только для чтения
  • метод create,
    который создает новый файл для записи
  • метод metadata,
    который возвращает метаданные о файле
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить