簡體   English   中英

如何在C#中使用Directory.GetFiles()添加多個文件?

[英]How to add multiple files using Directory.GetFiles() in C#?

之前可能已經問過這個問題,但是我無法在單循環中傳遞我的方法需要的三個參數。 我在該目錄(xml,jpg,tiff)(混合)中有數千個文件。

這就是我想要得到的。

protected void btn_Click(object sender, EventArgs e)
        {
            var path = @"d:\xmlfiles";
            foreach (var file in Directory.GetFiles(path))
            {
                ProcessFile(file,param2,param3);
            }

        }

    static void ProcessFile(string file_xml, string file_jpg, string file_tiff)
        {
            // do processing here...
            //Adding data to sql
        }

我嘗試了Path.GetExtension ,但它只提供擴展名。 我必須傳遞文件名,並且邏輯位於方法Processfile()

我看到很多問題,在此之前僅返回單個文件。 有其他解決方法嗎?

任何幫助將不勝感激。 謝謝。

因此,您有一個包含以下文件的目錄:

  • Foo.xmlFoo.jpgFoo.tiff
  • Bar.xmlBar.jpgBar.tiff
  • Baz.xmlBaz.jpgBaz.tiff

您想一起處理同名文件。 然后,為什么不選擇並枚舉一個擴展名,並重建隨附的文件名:

foreach (var xmlFile in Directory.GetFiles(path, "*.xml"))
{
    var extensionLess = Path.GetFilenameWithoutExtension(xmlFile);

    var jpgFile = Path.Combine(path, extensionLess + ".jpg");
    var tiffFile = Path.Combine(path, extensionLess + ".tiff");

    ProcessFile(xmlFile, jpgFile, tiffFile);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM