byte[] bytes = File.ReadAllBytes(@"c:\BorlandDelphi7.zip");
File.WriteAllBytes(@"c:\a.zip", bytes);
有用过这种方式来读取文件的。
这种方式的弊端在于,先是把文件整个读取出来,放入内存,然后再写入硬盘。如果文件太大,而且内存不够大的话,有可能造成死机现象,而且速度相对来说比较慢。
流操作:
什么是流,通俗来说就是读一点写一点,而且这个一点,是可以控制的,我可以让他一次读取1M或者10M或者100M都可以。
控制读取文件大小 这个就是缓冲区,设置缓冲区不可以太小,当然也不可以太大,适当就好,太小了会频繁读写硬盘,对硬盘损害加大,太大了也会拖慢速度。设置适当就可以。
个人建议8M开始。
static void Main(string[] args)
{
using (FileStream outStream = new FileStream(@"c:\a.zip", FileMode.Create))//通过FileMode.Create标明是写入流
{
using (FileStream fs = new FileStream(@"c:\BorlandDelphi7.zip",FileMode.Open))//通过FileMode.Open标明是读取流
{
////Read返回值表示实际读了多少内容
//fs.Read(bytes, 0, bytes.Length);
byte[] bytes = new byte[1

本文介绍了在Asp.Net中使用流操作文件的方法,避免一次性加载大文件到内存导致的性能问题。通过控制缓冲区大小,如设置为8M,可以平衡读写速度和硬盘损害。同时,文章提到线程挂起的话题,并邀请读者加入.net技术交流群进行深入讨论。
最低0.47元/天 解锁文章
194

被折叠的 条评论
为什么被折叠?



