Размер файла в Rust
Размер файла это число байт из сведений. Метод длины на метаданных отдает целое без отдельного чтения содержимого. Для пустого файла ответ ноль.
Запишем текст и выведем длину:
use std::fs;
use std::io;
fn show_len() -> io::Result<()> {
let info = fs::metadata("note.txt")?;
println!("{}", info.len());
Ok(())
}
fn main() -> io::Result<()> {
fs::write("note.txt", "hello")?;
show_len()?;
Ok(())
}
На экране 5. Сравним два файла
по размеру:
use std::fs;
use std::io;
fn main() -> io::Result<()> {
fs::write("note.txt", "hi")?;
fs::create_dir_all("data")?;
fs::write("data/long.txt", "longer")?;
let a = fs::metadata("note.txt")?.len();
let b = fs::metadata("data/long.txt")?.len();
if b > a {
println!("data/long.txt");
} else {
println!("note.txt");
}
Ok(())
}
Дан путь:
let path = "docs/readme.txt";
Запишите строку из трех символов и выведите размер файла.
Дан путь:
let path = "note.txt";
Создайте пустой файл и скажите, какой размер вернут метаданные.
Напишите функцию с исходом, которая возвращает длину файла по строке пути.