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;