C# 读取服务器上的共享文件

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;

你可能感兴趣的:(.net)