C# 将嵌入式资源读入输出文件

C# 将嵌入式资源读入输出文件,c#,C#,你好 我正在读取一些作为嵌入式资源存储的文件(Crystal Report文件),并使用以下代码执行此操作: string[] listOfFiles = Assembly.GetExecutingAssembly().GetManifestResourceNames(); string applicationPath = @"C:\TEMP\Reports"; foreach (string item in listOfFiles) { string fileName = item.R

你好

我正在读取一些作为嵌入式资源存储的文件(Crystal Report文件),并使用以下代码执行此操作:

string[] listOfFiles = Assembly.GetExecutingAssembly().GetManifestResourceNames();
string applicationPath = @"C:\TEMP\Reports";
foreach (string item in listOfFiles)
{
    string fileName = item.Replace("RegistryReader.Reports.", String.Empty);
    Stream inputStream = GetEmbeddedResourceStream(item);
    string report = Path.Combine(applicationPath, fileName);
    using (StreamWriter sw = new StreamWriter(report))
    {
        sw.Write(inputStream);
        sw.Flush();
    }
}
下面的代码似乎可以工作,当我处于调试模式时,我可以看到inputStream的长度是正确的字节数,不幸的是,它只为每个文件写入31个字节


我错过什么了吗?或者我应该使用二进制写入程序。

是的,您正在复制字节流。检查此问题,了解您编写的是流对象而不是流内容的完整讨论。.NET中的Stream.CopyTo()4@RugCode谢谢你的提醒。我在用你的建议。@Hans-你说得很对,谢谢。无法使用CopyTo()方法,因为我没有使用.NET 4。