如何访问当前平台的文件路径分隔符?
Posted
技术标签:
【中文标题】如何访问当前平台的文件路径分隔符?【英文标题】: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.join
或PathBuf.push
请注意,您几乎可以在包括 Windows 在内的所有平台上使用 /
作为分隔符。
【参考方案1】:
对于这个问题,应该使用Pathbuf
或Path
,而不是使用带有分隔符的自定义操作。
Path.join
Pathbuf.push
对于特定于平台的分隔符,应使用std::path::MAIN_SEPARATOR
。
【讨论】:
以上是关于如何访问当前平台的文件路径分隔符?的主要内容,如果未能解决你的问题,请参考以下文章