当路径以空格结束时,新的FileInfo会破坏FullName

时间:2015-09-06 19:47:55

标签: vb.net system.io.fileinfo

我搜索文件并将FileInfo作为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
   )

1 个答案:

答案 0 :(得分:1)

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