本文簡要介紹rust語言中 std::fs::OpenOptions.create_new
的用法。
用法
pub fn create_new(&mut self, create_new: bool) -> &mut Self
設置創建新文件的選項,如果它已經存在則失敗。
目標位置不允許存在文件,也不允許(懸空)符號鏈接。這樣,如果調用成功,則保證返回的文件是新的。
這個選項很有用,因為它是原子的。否則,在檢查文件是否存在和創建新文件之間,該文件可能已由另一個進程創建(TOCTOU 競爭條件/攻擊)。
如果設置了.create_new(true)
,則忽略 .create()
和 .truncate()
。
必須使用寫入或附加訪問權限打開文件才能創建新文件。
例子
use std::fs::OpenOptions;
let file = OpenOptions::new().write(true)
.create_new(true)
.open("foo.txt");
相關用法
- Rust OpenOptions.create用法及代碼示例
- Rust OpenOptions.append用法及代碼示例
- Rust OpenOptions.new用法及代碼示例
- Rust OpenOptions.write用法及代碼示例
- Rust OpenOptions.open用法及代碼示例
- Rust OpenOptions.truncate用法及代碼示例
- Rust OpenOptions.read用法及代碼示例
- Rust OpenOptionsExt.custom_flags用法及代碼示例
- Rust OpenOptions用法及代碼示例
- Rust OpenOptionsExt.access_mode用法及代碼示例
- Rust OpenOptionsExt.security_qos_flags用法及代碼示例
- Rust OpenOptionsExt.mode用法及代碼示例
- Rust OpenOptionsExt.share_mode用法及代碼示例
- Rust OpenOptionsExt.attributes用法及代碼示例
- Rust Option.unwrap_or_default用法及代碼示例
- Rust Option.as_deref_mut用法及代碼示例
- Rust Option.get_or_insert_with用法及代碼示例
- Rust Option.iter_mut用法及代碼示例
- Rust Option.or_else用法及代碼示例
- Rust Option.unwrap_unchecked用法及代碼示例
- Rust Option.get_or_insert用法及代碼示例
- Rust Option.expect用法及代碼示例
- Rust Option.get_or_insert_default用法及代碼示例
- Rust Option.insert用法及代碼示例
- Rust Option.map_or用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::fs::OpenOptions.create_new。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。