当路径以 space 结尾时,新的 FileInfo 会损坏 FullName

new FileInfo corrupts FullName when path ends with space

我搜索文件和 return FileInfo 作为 IEnumerable。我在 Select 中设置了一个断点,看到传入的文件名是 e:\mp3\MP3_Amazon\Orchestra della Scala di Milano, Tullio Serafin,Herbert von Karajan, Maria \Maria Callas, Vol 4-15- Madama Butterfly Un bel dì, vedremo.mp3 当我遍历 IEnumerable 并尝试将文件作为 Stream 打开时,我收到文件错误 System.IO.DirectoryNotFoundException。 FileInfo 的 FullName 成员错过了结束路径部分 Orchestra della Scala...

的 space

该路径由亚马逊的 MP3 下载器 (Amazon Music) 创建。

我现在想知道是否可以以及如何以编程方式访问该文件。 为什么在创建 FileInfo class 时,路径分成几部分,并且每个部分都从尾随 space 中剥离?

Dim Dir As IEnumerable(Of FileInfo) =
    From datei In Directory.EnumerateFiles("E:\MP3\mp3_amazon", "*.*", SearchOption.AllDirectories).Where(
        Function(dateiname)
            Return dateiname.IndexOf("butter", StringComparison.CurrentCultureIgnoreCase) > -1
        End Function
    ).Select(Of FileInfo)(
        Function(dateiname)
            Return New FileInfo(dateiname)
        End Function
   )

this question 的副本。
摘要:Windows API 不支持它,因此您必须在代码中检测到此问题并解决它。使用文件的短名称 (8.3) 可能有效。