【问题标题】:How to access the file path separator for the current platform?如何访问当前平台的文件路径分隔符?
【发布时间】:2019-06-05 07:57:51
【问题描述】:

在 Rust 中是否有任何可用的选项来获取特定于平台的文件分隔符?

可以有不同的平台特定分隔符:

let separator = "\\" // Could be this.
let separator2 = "/" // Could be this.
let separator3 = "//" // Could be this.

我看起来像下面这样:

let env_independent_seperator = env::separator()

那么可能用法可以如下:

let folder = "C\\Folder\\Path";
let env_independent_separator = env::separator() // Looking something like this
let file_name = "File.txt";
let full_path = folder+ env_independent_separator + file_name;

Rust 中有 File::separator() 吗?

【问题讨论】:

  • 您也可能更喜欢使用PathBuf 和/或Path 来处理这类事情。尤其是Path.joinPathBuf.push
  • 请注意,您几乎可以在包括 Windows 在内的所有平台上使用 / 作为分隔符。

标签: rust filesystems separator os-agnostic


【解决方案1】:

对于这个问题,应该使用PathbufPath,而不是使用带有分隔符的自定义操作。

对于特定于平台的分隔符,应使用std::path::MAIN_SEPARATOR

【讨论】:

    猜你喜欢
    • 2012-01-13
    • 2014-01-16
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多