Метод create
Метод create открывает файл в режиме только для записи.
Если файл не существует, он будет создан. Если файл уже
существует, его содержимое будет полностью перезаписано (усечено).
Параметром метод принимает путь к файлу, который может быть
строкой или объектом Path. В случае успеха возвращается
объект File, упакованный в Result.
Синтаксис
File::create(path)
Пример
Давайте создадим новый файл с именем "test.txt"
и запишем в него строку:
use std::fs::File;
use std::io::Write;
fn main() -> std::io::Result<()>
{
let mut file = File::create("test.txt")?;
file.write_all(b"abcde")?;
println!("File created successfully");
Ok(())
}
Результат выполнения кода:
"File created successfully"
Пример
Давайте проверим, что произойдет, если открыть существующий
файл через create и записать новые данные. Старое
содержимое будет удалено:
use std::fs::File;
use std::io::Write;
fn main() -> std::io::Result<()>
{
// First, create a file with content
let mut file = File::create("test.txt")?;
file.write_all(b"12345")?;
// Now reopen and overwrite
let mut file = File::create("test.txt")?;
file.write_all(b"abcde")?;
println!("File overwritten");
Ok(())
}
Результат выполнения кода:
"File overwritten"
Смотрите также
-
метод
open,
который открывает файл только для чтения -
метод
create_new,
который создает новый файл и возвращает ошибку, если он уже существует -
метод
options,
который возвращает настройки открытия файла -
структура
OpenOptions,
которая позволяет гибко настраивать параметры открытия файла