gpt4 book ai didi

.net - 如何在 .NET 中获取绝对或标准化文件路径?

转载 作者:行者123 更新时间:2023-12-03 07:13:42 24 4
gpt4 key购买 nike

如何以最小的努力(如果可能的话,使用一些现有的设施)将 c:\aaa\bbb\..\ccc 等路径转换为 ​​c:\aaa\ccc

最佳答案

我会这样写:

public static string NormalizePath(string path)
{
return Path.GetFullPath(new Uri(path).LocalPath)
.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)
.ToUpperInvariant();
}

这应该可以处理一些场景,比如

  1. uri 和其中潜在的转义字符,例如

    file:///C:/Test%20Project.exe -> C:\TEST PROJECT.EXE

  2. 由点指定的路径段,表示当前目录或父目录

    c:\aaa\bbb\..\ccc -> C:\AAA\CCC

  3. 波形符缩短(长)路径

    C:\Progra~1\ -> C:\PROGRAM FILES

  4. 目录分隔符不一致

    C:/Documents\abc.txt -> C:\DOCUMENTS\ABC.TXT

除此之外,它还可以忽略大小写、尾随 \ 目录分隔符等。

关于.net - 如何在 .NET 中获取绝对或标准化文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1266674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com