using
System;
using
System.IO;
![](/Images/OutliningIndicators/None.gif)
class
FStream
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
private const int SIZE = 1024;
static void Main()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
DealBigFile(@"C:\Kit.rar");
}
![](/Images/OutliningIndicators/InBlock.gif)
// 处理大文件
public static void DealBigFile(string fileName)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
using (FileStream fileStream = new FileStream(fileName, FileMode.Open ,FileAccess.Read))
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
int offset=0;
int count = 0;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
do
{
byte[] dataArray = new byte[SIZE];
count = fileStream.Read(dataArray, 0, SIZE);
offset += count;
![](/Images/OutliningIndicators/InBlock.gif)
// 计算处理后,即dataArray发生变化
// ![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
..
![](/Images/OutliningIndicators/InBlock.gif)
WriteFile(@"C:\2.rar", dataArray);
}while(count==SIZE);
fileStream.Close();
fileStream.Dispose();
}
}
![](/Images/OutliningIndicators/InBlock.gif)
// 写入文件(追加的形式)
public static void WriteFile(string fileName, byte[] array)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
using (FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write))
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
fileStream.Seek(fileStream.Length, 0);
fileStream.Write(array, 0, array.Length);
fileStream.Flush();
fileStream.Close();
fileStream.Dispose();
}
}
}
转载于:https://www.cnblogs.com/mjgforever/archive/2007/12/26/1016010.html