【问题标题】:asp.net Concatenate filesasp.net 连接文件
【发布时间】:2011-04-29 11:40:57
【问题描述】:

在我的程序中,我将一个文件拆分为多个文件并将其发送到 WCF 休息服务,该服务然后将其加入到一个文件中。连接后,文件大小大于发送文件的大小。

以下是连接代码:

        string[] files = Directory.GetFiles(path, string.Concat(guid, "*"),SearchOption.TopDirectoryOnly);
        StreamReader fileReader;
        StreamWriter fileWriter = new StreamWriter(path + newGuid);
        for (Int64 count = 0; count < files.Length; count++)
        {
            fileReader = new StreamReader(string.Concat(path,guid, count));
            fileWriter.Write(fileReader.ReadToEnd());
        }
        fileWriter.Close();

【问题讨论】:

  • 您这样做是为了解决 WCF 64K 消息大小问题吗?为什么要拆分文件并重新加入它们?似乎是在浪费精力。

标签: asp.net wcf file rest concatenation


【解决方案1】:

您是否只处理文本文件,因为StreamWriterStreamReader 都只能用于文本文件而不是二进制文件。

此外,fileWriter.Write(fileReader.); 这一行似乎是错误的。应该是这样的

fileWriter.Write(fileReader.ReadToEnd());

当然,如果你的文件太大,你应该分块或逐行进行读/写。

【讨论】:

  • 没有。这就是我正在使用的。错过了那个代码。它给了我一个文件,其大小大于拆分后的文件。
  • @Ankit,你为什么不检查文件内容并决定要添加什么?您甚至可以手动连接拆分文件并使用任何差异工具!
猜你喜欢
  • 2019-11-13
  • 1970-01-01
  • 2021-12-29
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 2012-07-20
相关资源
最近更新 更多