2011-04-29 27 views
0

在我的程序中,我将一个文件分成多个文件,并将它发送到一个WCF休息服务,然后将它连接回一个文件。连接后,文件大小大于发送文件的大小。asp.net连接文件

以下是代码来连接:

 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(); 
+0

你是否这样做是为了解决WCF 64K邮件大小问题?为什么要拆分文件并重新加入?看起来像是浪费精力。 – 2011-04-29 12:33:33

+0

是................ – Ankit 2011-04-29 21:35:12

回答

0

是你的交易,只有文本文件,因为这两个StreamWriterStreamReader仅仅意味着为文本文件,而不是二进制文件中使用。

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

fileWriter.Write(fileReader.ReadToEnd()); 

当然,如果你的文件太大,你应该做的读/逐行基础的块或条写入。

+0

不,这是我正在使用的。错过了该代码。它给我一个文件,其大小超过分割的文件。 – Ankit 2011-04-29 12:04:03

+0

@Ankit,你为什么不浏览文件内容并决定增加额外的内容?你甚至可以手动连接分割文件并使用任何diff工具! – VinayC 2011-04-29 12:26:47

+0

我正在使用ASP.NET来连接文件。可以这样做吗? – Ankit 2011-04-29 13:19:37