合并大文件的问题

张吉Jerry 2009-07-22 08:07:59
有五个文件tmp1~tmp5,各1G,想把tmp4~tmp5合并到tmp1,用如下方法:
BinaryWriter bw = new BinaryWriter(File.Open("tmp1", FileMode.Append));
for (int i = 2; i <= 5; ++i)
{
bw.Write(File.ReadAllBytes("tmp" + i.ToString()));
}
bw.Close();
tmp2可以合并,但在合并tmp3时抛出OutOfMemory异常。
请问问题出在哪里?应该如何进行大文件的合并呢?谢谢。
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿绦 2009-07-22
  • 打赏
  • 举报
回复
使用 BufferedStream 缓冲 读满缓冲就开始写 直到文件都读取完成为止



个人意见 绿绦工作室http://www.lvtaostudio.com
kkun_3yue3 2009-07-22
  • 打赏
  • 举报
回复
只要不报OutOfMemory,能解决你的问题,分多大无所谓
张吉Jerry 2009-07-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oyljerry 的回复:]
这么大的文件,不能一次读取,可以分成多块,一块块的读取数据,然后再把文件写入一个总的文件
[/Quote]
请问要分多大的块呢?对速度会不会有比较大的影响?
oyljerry 2009-07-22
  • 打赏
  • 举报
回复
这么大的文件,不能一次读取,可以分成多块,一块块的读取数据,然后再把文件写入一个总的文件
yeaicc 2009-07-22
  • 打赏
  • 举报
回复
Update

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧