【发布时间】:2021-04-25 14:54:18
【问题描述】:
我正在尝试从特定位置读取所有文件(仅限 xml 类型)。我的目标是将它们存储到 Dictionary
这是正确的方法吗?以及如何将 StreamReportFiles.dict[10] 转换回字符串或 XmlDocument,同时将其转换为 bytes[]?
class StreamReportFiles
{
public static Dictionary<int, MemoryStream> dict;
public static void StreamAll()
{
DirectoryInfo dir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"c:\Templates\"));
FileInfo[] Files = dir.GetFiles("*.xml");
dict= new Dictionary<int, MemoryStream>();
if (Files.Length > 0)
{
long len;
MemoryStream ms;
foreach (FileInfo fileInfo in Files)
{
using (FileStream file = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read))
{
ms = new MemoryStream();
byte[] bytes = new byte[file.Length];
ms.Write(bytes, 0, (int)file.Length);
len = file.Length / 1024;
RdlcDictStream.Add(Convert.ToInt32(fileInfo.Name.Substring(0, fileInfo.Name.Length - fileInfo.Extension.Length)), ms);
}
Console.WriteLine($"File {fileInfo.Name} {len} kB size added to MemoryStream");
}
}
}
}
}
【问题讨论】:
标签: c# stream console-application