毛毛的小窝 — 关注技术交流、让我们一起成长

导航

(原) .NET 读写大文件

using System;
using System.IO;

class FStream
{
    
private const int SIZE = 1024;
  
    
static void Main()
    
{
        DealBigFile(
@"C:\Kit.rar");
    }


    
// 处理大文件
    public static void DealBigFile(string fileName)
    
{
        
using (FileStream fileStream = new FileStream(fileName, FileMode.Open ,FileAccess.Read))
        
{
            
int offset=0;
            
int count = 0;
            
do{
                
byte[] dataArray = new byte[SIZE];
                count 
= fileStream.Read(dataArray, 0, SIZE);
                offset 
+= count;

                
// 计算处理后,即dataArray发生变化
                
// ..

                WriteFile(
@"C:\2.rar", dataArray);
            }
while(count==SIZE);
            fileStream.Close();
            fileStream.Dispose();
        }

    }


    
// 写入文件(追加的形式)
    public static void WriteFile(string fileName, byte[] array)
    
{
        
using (FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write))
        
{
            fileStream.Seek(fileStream.Length, 
0);
            fileStream.Write(array, 
0, array.Length);
            fileStream.Flush();
            fileStream.Close();
            fileStream.Dispose();
        }

    }

}

posted on 2007-12-26 21:07  mjgforever  阅读(567)  评论(0编辑  收藏  举报