none
关于Framework 4.0 GetFiles问题 RRS feed

  • 问题

  • 本人使用Framework 4.0.30319.1版本

    在使用获得文件读取其他文件是正常,但读取office2010 .docx或.xlsx时就会出现读取到2个文件出来,就是本来1个文件出现2条相同信息,如果是旧后缀.doc都是正常,本人觉得是个bug,这教高人。

    DirectoryInfo di = new DirectoryInfo(Path);

    di.GetFiles("*.docx");


    Samson
    • 已移动 BU XI - MSFT 2011年2月24日 2:20 Office related (发件人:ASP.NET 与 AJAX)
    2011年2月20日 5:06

答案

  • 你好

    我也嘗試過 你的 CODE 應該是沒有問題的...

    是不是所有的.DOCX/.XLSX 檔案 都會出現2條相同信息?

    我試過當我打開了這個.DOCX 時會有 2個DOCX 的出現

    或者你可以嘗試建立一個 新的資料夾.. 之後建立一些新的.DOCX/.XLSX 看看 

    E.G.

     Dim di As New DirectoryInfo("D:\DevelopmentFolder\")

     

            Dim F() As FileInfo = di.GetFiles("*.docx")

            For i As Integer = 0 To F.Count - 1

                MsgBox(F(i).FullName)

            Next


    C#
    DirectoryInfo di = new DirectoryInfo("D:\\DevelopmentFolder\\");

    FileInfo[] F = di.GetFiles("*.docx");
    for (int i = 0; i <= F.Count - 1; i++) {
    Interaction.MsgBox(F(i).FullName);
    }

    Please correct me if my concept is wrong


    Chi
    2011年2月20日 8:44

全部回复

  • 你好

    我也嘗試過 你的 CODE 應該是沒有問題的...

    是不是所有的.DOCX/.XLSX 檔案 都會出現2條相同信息?

    我試過當我打開了這個.DOCX 時會有 2個DOCX 的出現

    或者你可以嘗試建立一個 新的資料夾.. 之後建立一些新的.DOCX/.XLSX 看看 

    E.G.

     Dim di As New DirectoryInfo("D:\DevelopmentFolder\")

     

            Dim F() As FileInfo = di.GetFiles("*.docx")

            For i As Integer = 0 To F.Count - 1

                MsgBox(F(i).FullName)

            Next


    C#
    DirectoryInfo di = new DirectoryInfo("D:\\DevelopmentFolder\\");

    FileInfo[] F = di.GetFiles("*.docx");
    for (int i = 0; i <= F.Count - 1; i++) {
    Interaction.MsgBox(F(i).FullName);
    }

    Please correct me if my concept is wrong


    Chi
    2011年2月20日 8:44
  • 只有office2010格式如 .DOCX/.XLSX 文档会出现2条相同信息,同一目录下如.DOC/.XLS或其他.PDF/.JPG/.GIF都没有出现这现象出现,所以觉得不是代码或目录问题。

    我想退步使用Linq的Distinct()方法解决重复,结果没有生效,大胆假设不是数据上或真的有2条信息,只是出来时有2条。

    环镜上是创建项目是asp.net mvc3英文版,读出是.DOCX/.XLSX 中文版文档,不知有没有关系。


    Samson
    2011年2月23日 10:46