110,536
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 文件流复制
/// </summary>
/// <param name="filefrom">源文件</param>
/// <param name="fileto">目标文件</param>
/// <param name="dir"></param>
/// <returns>复制是否成功</returns>
public bool copyfile(string filefrom, string fileto,int i)
{
FileStream fs1 = new FileStream(filefrom, FileMode.Open, FileAccess.Read);
FileStream fs2 = new FileStream(fileto, FileMode.Create, FileAccess.Write);
long size = 0;
long total = 0;
long size1 = 10240;
int size2 = 10240;
byte[] by = new byte[size2];
int k = 0;
int m = 0;
// int P_k = 0;
// int P_m = 0;
try
{
// timer5.Enabled = true;
while (size <= (fs1.Length - size1))
{
total = fs1.Read(by, 0, size2);
fs1.Flush();
fs2.Write(by, 0, size2);
fs2.Flush();
fs2.Position = fs1.Position;
if (m >= 50)
{
m = 0;
}
if (k > 100)
{
k = 0;
}
this.proess_value(i,k);
m++;
k++;
size += total;
textBox91.Text = i.ToString();
}
int left = (int)(fs1.Length - size);
total = fs1.Read(by, 0, left);
fs1.Flush();
fs2.Write(by, 0, left);
fs2.Flush();
fs1.Dispose();
fs2.Dispose();
fs1.Close();
fs2.Close();
return true;
}
catch
{
//progressBar16.Value = 0;
File.Delete(fileto);
fs1.Flush();
fs2.Flush();
fs1.Dispose();
fs2.Dispose();
fs1.Close();
fs2.Close();
return false;
}
}