2013-11-19 13:23:13
LocalPath = Application.StartupPath + @"\";
DirectoryInfo DirInfo = new DirectoryInfo(@"\\192.168.1.168\Edition");
public static void CopyFile(System.IO.DirectoryInfo DirInfo , string LocalPath )
{
string sourcePath = path.FullName;
System.IO.FileInfo[] files = path.GetFiles();
foreach (System.IO.FileInfo file in files)
{
string sourceFileFullName = file.FullName;
string destFileFullName = sourceFileFullName.Replace(sourcePath, desPath);
file.CopyTo(destFileFullName, true);
}
}
----待研究
C#中可以用FileStream 这个类来读取文件,包括局域网中的共享文件,它有很多构造函数,其中有一个是FileStream (String, FileMode, FileAccess) ;String 为你要读取的文件的路径,是全路径,如果是读取局域网中的共享文件,可以表示为 \\机器名\共享目录\文件名
----判读更新文件的时间
DateTime dtLocal = File.GetLastWriteTime(LocalPath + file.ToString());//本地文件修改日期
DateTime dtUpdate = File.GetLastWriteTime(sourceFileFullName);//更新目录文件的修改日期
if (dtUpdate != dtLocal)//可用更新
int filesum = 0; //更新文件数
string sourcePath = path.FullName;
if (Directory.Exists(sourcePath))
{
System.IO.FileInfo[] files = path.GetFiles();
foreach (System.IO.FileInfo file in files)
{
string sourceFileFullName = file.FullName;
string destFileFullName = sourceFileFullName.Replace(sourcePath, LocalPath);
//本地目录有相同文件名就需要判断是否为可用更新文件
if (File.Exists(LocalPath + file.ToString()) == true)
{
DateTime dtLocal = File.GetLastWriteTime(LocalPath + file.ToString());//本地文件修改日期
DateTime dtUpdate = File.GetLastWriteTime(sourceFileFullName);//更新目录文件的修改日期
if (dtUpdate != dtLocal)//可用更新
{
++filesum;
//this.lbl_FileMessage.Text = "正在复制文件:" + FileName + ",数量:" + filesum.ToString();
file.CopyTo(destFileFullName, true);
}
}
else
{
++filesum;
//this.lbl_FileMessage.Text = "正在复制文件:" + FileName + ",数量:" + filesum.ToString();
file.CopyTo(destFileFullName, true);
}
}
}
else
{
//MessageBox.Show("更新路径错误,请联系管理员!", "提示");
filesum=-1;
}
return filesum;