Как читать все файлы внутри определенной папки
Я хочу прочитать все xml файлы внутри определенной папки в С#.net
XDocument doc2 = XDocument.Load((PG.SMNR.XMLDataSourceUtil.GetXMLFilePath(Locale, "Products/category/product.xml")));
У меня есть несколько продуктов в папке категории. хотите закодировать папку и получить все имена файлов xml файлов.
XDocument doc2 = XDocument.Load((PG.SMNR.XMLDataSourceUtil.GetXMLFilePath(Locale, "Products/category/x1.xml")));
Ответы
Ответ 1
using System.IO;
...
foreach (string file in Directory.EnumerateFiles(folderPath, "*.xml"))
{
string contents = File.ReadAllText(file);
}
Обратите внимание, что в приведенном выше примере используется функция .NET 4.0; в предыдущих версиях замените EnumerateFiles
на GetFiles
). Кроме того, замените File.ReadAllText
на ваш предпочтительный способ чтения xml файлов - возможно, XDocument
, XmlDocument
или XmlReader
.
Ответ 2
using System.IO;
DirectoryInfo di = new DirectoryInfo(folder);
FileInfo[] files = di.GetFiles("*.xml");
Ответ 3
using System.IO;
//...
string[] files;
if (Directory.Exists(Path)) {
files = Directory.GetFiles(Path, @"*.xml", SearchOption.TopDirectoryOnly);
//...
Ответ 4
Вы можете использовать метод DirectoryInfo.GetFiles
:
FileInfo[] files = DirectoryInfo.GetFiles("*.xml");
Ответ 5
Если вы хотите скопировать все текстовые файлы в одну папку для слияния и копирования в другую папку, вы можете сделать это, чтобы достичь этого:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace HowToCopyTextFiles
{
class Program
{
static void Main(string[] args)
{
string mydocpath=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
StringBuilder sb = new StringBuilder();
foreach (string txtName in Directory.GetFiles(@"D:\Links","*.txt"))
{
using (StreamReader sr = new StreamReader(txtName))
{
sb.AppendLine(txtName.ToString());
sb.AppendLine("= = = = = =");
sb.Append(sr.ReadToEnd());
sb.AppendLine();
sb.AppendLine();
}
}
using (StreamWriter outfile=new StreamWriter(mydocpath + @"\AllTxtFiles.txt"))
{
outfile.Write(sb.ToString());
}
}
}
}
Ответ 6
using System.IO;
string[] arr=Directory.GetFiles("folderpath","*.Fileextension");
foreach(string file in arr)
{
}