當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Rust rename用法及代碼示例

本文簡要介紹rust語言中 Function std::fs::rename 的用法。

用法

pub fn rename<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<()>

將文件或目錄重命名為新名稱,如果 to 已存在,則替換原始文件。

如果新名稱位於不同的掛載點,這將不起作用。

特定於平台的行為

此函數當前對應於 Unix 上的 rename 函數和 Windows 上帶有 MOVEFILE_REPLACE_EXISTING 標誌的 MoveFileEx 函數。

因此,雙方的行為fromto存在不同。在 Unix 上,如果from是一個目錄,to也必須是一個(空)目錄。如果from不是目錄,to也必須不是目錄。相比之下,在 Windows 上,from可以是任何東西,但是to必須不是是一個目錄。

請注意,這個may change in the future

錯誤

此函數會在以下情況下返回錯誤,但不僅限於這些情況:

  • from 不存在。
  • 用戶沒有查看內容的權限。
  • fromto 位於不同的文件係統上。

例子

use std::fs;

fn main() -> std::io::Result<()> {
    fs::rename("a.txt", "b.txt")?; // Rename a.txt to b.txt
    Ok(())
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Function std::fs::rename。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。