Метод set_len
Метод set_len изменяет размер файла до указанного
количества байт. Если новый размер меньше текущего, файл
обрезается. Если больше - файл расширяется, а недостающие
байты заполняются нулями. Параметром метод принимает
новую длину файла в байтах.
Синтаксис
file.set_len(len)
Пример
Давайте создадим файл с содержимым "abcde"
и обрежем его до 3 байт:
use std::fs::File;
use std::io::Write;
fn main()
{
let mut file = File::create("test.txt").unwrap();
file.write_all(b"abcde").unwrap();
file.set_len(3).unwrap();
let res = std::fs::read_to_string("test.txt").unwrap();
println!("{}", res);
}
Результат выполнения кода:
"abc"
Пример
Давайте создадим файл с содержимым "abc"
и расширим его до 6 байт:
use std::fs::File;
use std::io::Write;
fn main()
{
let mut file = File::create("test.txt").unwrap();
file.write_all(b"abc").unwrap();
file.set_len(6).unwrap();
let res = std::fs::read("test.txt").unwrap();
println!("{:?}", res);
}
Результат выполнения кода:
[97, 98, 99, 0, 0, 0]
Смотрите также
-
класс
File,
который представляет файл на диске -
метод
metadata,
который возвращает информацию о файле -
метод
set_permissions,
который изменяет права доступа к файлу -
метод
sync_all,
который синхронизирует данные файла с диском