这段代码有什么问题吗?这是给我损坏的内容

本文关键字:损坏 问题 段代码 代码 什么 | 更新日期: 2023-09-27 17:54:52

private static void UpdateFontSettings(WordprocessingDocument content, WordprocessingDocument template)
    {
        if (content != null && content.MainDocumentPart != null && content.MainDocumentPart.FontTablePart != null &&
            template != null && template.MainDocumentPart != null && template.MainDocumentPart.FontTablePart != null)
        {
            IEnumerable<OpenXmlPart> partsToDelete = from idPartPair in content.MainDocumentPart.FontTablePart.Parts
                                                     select idPartPair.OpenXmlPart;
            content.MainDocumentPart.FontTablePart.DeleteParts(partsToDelete);
            StreamReader streamReader = null;
            StreamWriter streamWriter = null;
            try
            {
                streamReader = new StreamReader(template.MainDocumentPart.FontTablePart.GetStream());
                streamWriter = new StreamWriter(content.MainDocumentPart.FontTablePart.GetStream(FileMode.Create));
            }
            catch
            {
                if (streamReader != null)
                {
                    streamReader.Close();
                }
                throw;
            }
            using (streamWriter)
            {
                streamWriter.Write(streamReader.ReadToEnd());
            }
            if (streamReader != null)
            {
                streamReader.Close();
            }
        }
    }

这段代码有什么问题吗?这是给我损坏的内容

我建议在创建StreamWriter时设置编码类型。我相信大多数系统默认为ANSI,尽管您可能需要UTF8或其他东西。