2011-04-29 28 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