这是我写的复制文件的最简单例子. 我想知道有没有更好的实现方法? FileStream fs = new FileStream("f:\\aa.bin", FileMode.Open);
List<byte[]> total = new List<byte[]>(); int length = 0; const int BUFFERSIZE = 1024;
int offset = 0; int timesToRead = (int)Math.Ceiling(Convert.ToDouble(fs.Length)/Convert.ToDouble(BUFFERSIZE)); for(int i = 0; i <timesToRead; i++)
{
byte[] bytes = new byte[BUFFERSIZE];
length = fs.Read(bytes, offset, BUFFERSIZE);
total.Add(bytes);
} fs.Close(); FileStream wfs = new FileStream("f:\\bb.bin", FileMode.OpenOrCreate); for (int i = 0; i < timesToRead; i++ )
{
if (i == timesToRead - 1) //这句写的不好, 不知有什么更好的方法吗
{
wfs.Write(total[i], 0, length);
}
else
{
wfs.Write(total[i], 0, total[i].Length);
}
} wfs.Close();谢谢啦
List<byte[]> total = new List<byte[]>(); int length = 0; const int BUFFERSIZE = 1024;
int offset = 0; int timesToRead = (int)Math.Ceiling(Convert.ToDouble(fs.Length)/Convert.ToDouble(BUFFERSIZE)); for(int i = 0; i <timesToRead; i++)
{
byte[] bytes = new byte[BUFFERSIZE];
length = fs.Read(bytes, offset, BUFFERSIZE);
total.Add(bytes);
} fs.Close(); FileStream wfs = new FileStream("f:\\bb.bin", FileMode.OpenOrCreate); for (int i = 0; i < timesToRead; i++ )
{
if (i == timesToRead - 1) //这句写的不好, 不知有什么更好的方法吗
{
wfs.Write(total[i], 0, length);
}
else
{
wfs.Write(total[i], 0, total[i].Length);
}
} wfs.Close();谢谢啦
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货