一段copy文件的方法 但是丢数据 大家帮我看看
wwtzy 2005-07-05 03:25:16
FileInfo fileInfo = new FileInfo("c:\123.txt");
System.IO.FileStream fStreamR = fileInfo.OpenRead();
long fLen = fStreamR.Length ;
byte[] buffer = new Byte[2048] ;
System.IO.FileStream fStreamW = System.IO.File.Create("d:\123.txt");
int i;
progressBar1.Maximum = (int)(fLen/2048)*10; // need to check to see if existing overflow
while(true)
{
if((i = (int)(fLen - fStreamR.Position -1)) <= 2048)
{
fStreamR.Read(buffer,0,i-1);
fStreamW.Write(buffer,0,i-1);
break;
}
fStreamR.Read(buffer,0 ,2047);
fStreamW.Write(buffer,0,2047);
this.progressBar1.PerformStep(); //在这里.....
}
fStreamW.Flush();
fStreamR.Close();
fStreamW.Close();
//这段代码是我考别人的,拿过来自己用了一下 发现问题如下
//当copy如xml文件的时候 最后的 ">"符号总是丢失,还有就是".""<"等符号 数字也偶尔有丢失的时候
//是怎么回事?