Hi @yashrajsinh gohil ,Welcome to Microsoft Q&A,
What you are looking for is pretty much what Mamu Cacga said.
Using FileStream, for each extension, the program loops through the list of files found. For each file, it uses FileStream
** to open the file and copies its contents into the merged file, using the CopyTo
method.
Once all files have been merged into a single file, the using
statement ensures that all open file streams are properly closed and resources released.
The extension of the merged file is hard-coded in the variable, so you will need to try it yourself for the files generated by this method.
using System;
using System.IO;
class Program
{
static void Main()
{
//Set the folder path to be merged
string folderPath = @"C:\Path\To\Your\Folder";
//Set the extension of the files to be merged
string[] fileExtensions = { ".txt", ".doc", ".pdf" }; // Add more extensions as needed
//Set the path of the merged file to be generated
string mergedFilePath = @"C:\Path\To\Your\Folder\merged.mrg";
// merge files
MergeFiles(folderPath, fileExtensions, mergedFilePath);
Console.WriteLine("Files successfully merged!");
}
static void MergeFiles(string folderPath, string[] fileExtensions, string mergedFilePath)
{
//Create new merged file
using (FileStream mergedFileStream = new FileStream(mergedFilePath, FileMode.Create))
{
foreach (string fileExtension in fileExtensions)
{
// Get all files with the current extension
string[] files = Directory.GetFiles(folderPath, "*" + fileExtension);
foreach (string file in files)
{
// Open the current file and write its contents to the merged file
using (FileStream fileStream = new FileStream(file, FileMode.Open))
{
fileStream.CopyTo(mergedFileStream);
}
}
}
}
}
}
Best Regards,
Jiale
If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.