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

在Rust中能否通过已打开的std::fs::File对象获取文件路径?

问题解答

直接通过std::fs::File实例的内置方法无法获取文件的完整路径——标准库的File类型本身并未存储路径信息,std::fs::Metadata也确实不包含路径相关数据。

如果不想单独存储路径,可参考以下方案:

  • 自行封装结构体,将File实例与对应的路径绑定,后续需要路径时直接从结构体中读取
  • 在类Unix系统中,可通过读取/proc/self/fd/<fd>符号链接获取路径(需借助std::os::unix::io::AsRawFd trait将File转为文件描述符),但该方法仅适用于Unix-like平台,Windows无法使用
  • 借助第三方crate(如file-path)实现,但引入外部依赖会增加项目复杂度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:42:01