You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust中获取fs::copy操作成功的提示信息

Rust文件复制成功提示实现方案

你的代码目前仅通过expect处理了复制失败的场景,成功时无任何输出逻辑。要实现成功时打印指定提示,需要显式处理fs::copy返回的Result类型:

修改后的代码

use std::fs;
use std::path::Path;

fn main() {
    let source = "c:\\Aerocom\\win3000\\win3000.log";
    let destination = "w:\\win3000r.log";
    
    println!("C\\Aerocom\\win3000\\bestaat: {}", Path::new(source).exists());
    println!("w:\\win3000r.log bestaat: {}", Path::new(destination).exists());

    // 处理复制操作的结果
    match fs::copy(source, destination) {
        Ok(_bytes_copied) => {
            println!("此操作顺利完成");
        }
        Err(e) => {
            panic!("复制失败: {}", e);
        }
    }
}

关键说明

  • fs::copy返回Result<u64, Error>:成功时返回复制的字节数,失败时返回错误对象
  • 使用match表达式匹配两种结果:
    • Ok(_bytes_copied):捕获成功状态,忽略字节数(用_占位),直接打印成功提示
    • Err(e):捕获失败状态,打印具体错误信息后终止程序(也可替换为eprintln!并返回错误码,避免panic)
  • 代码中冗余的use std::fs::copy;可以删除,因为use std::fs;已包含所有fs模块下的方法

内容的提问来源于stack exchange,提问作者Chris Vermeijlen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:45:57