0

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

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

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

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
   )
4

1 回答 1

1

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

于 2015-09-07T18:06:40.347 回答