1. 程式人生 > >C# 讀取伺服器上的共享檔案

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;