File類
Exists 文件是否存在
Copy 複製文件
File.Copy(string sourceFileName,string destFileName);//不允許覆蓋
File.Copy(string sourceFileName,string destFileName,bool overwrite);//overwrite爲true,可以覆蓋目標文件
代碼:
string desPath=@"D:\";
if(File.Exists(desPath))
{
//目標文件已存在
if(MessageBox.Show("目標文件已存在,是否覆蓋?","詢問",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
{
File.Copy( "sourceFileName", desPath,true);
MessageBox.Show("文件已被覆蓋!");
}
}
else
{
//目標文件不存在
File.Copy( "sourceFileName", desPath,true);
MessageBox.Show("文件複製成功!");
}
OpenFileDialog/SaveFileDialog類 (打開對話框 / 保存對話框)
ShowDialog() 顯示對話框
FileName 選擇的文件路徑
返回值爲DialogResult類型,如果爲OK,則用戶點擊的爲打開,否則爲取消
代碼:
OpenFileDialog openDialog = new OpenFileDialog();
SaveFileDialog saveDialog = new SaveFileDialog();
openDialog.InitialDirectory = "c:\\"; //默認打開路徑
openDialog.Filter = "可執行程序|*.exe|Excel文件|*.xls|所有文件|*.*"; //過濾器
openDialog.Multiselect = true; //允許選擇多個文件
openDialog.ShowReadOnly = true; //打開對話框上面顯示"以只讀方式打開"選項
openDialog.ShowHelp = true; //對話框上顯示help按鈕
if (openDialog.ShowDialog() == DialogResult.OK)
{
//點擊的打開,不是取消
if (saveDialog.ShowDialog() == DialogResult.OK) //說明點擊的是保存按鈕
{
File.Copy(openDialog.FileName, saveDialog.FileName, true);
}
}
FolderBrowserDialog類 (文件夾對話框)
代碼:
string sDir,dDir;
FolderBrowserDialog sourceFolder = new FolderBrowserDialog();
sourceFolder.Description = "請選擇要複製的文件夾"; //對話框的描述信息
if(sourceFolder.ShowDialog() == DialogResult.OK) //點確定
{
sDir = sourceFolder.SelectedPath; //得到選擇的文件夾路徑
sourceFolder.Description = "請選擇要複製到的文件夾";
if(sourceFolder.ShowDialog() == DialogResult.OK)
{
dDir = sourceFolder.SelectedPath; //複製到的文件夾路徑
//要得到源文件夾中的所有文件
string[] files = Directory.GetFiles(sDir); //得到是所有文件路徑
foreach (string filepath in files)
{
string dFileName = filepath.Substring(filepath.LastIndexOf('\\') + 1); //從路徑中截取字符串得到文件名
File.Copy(filepath, dDir+"\\"+dFileName,true);
}
}
}
總結:都是相同套路:
1.new //創建對象
2.ShowDialog() //對話框的顯示
ShowDialog()==DialogResult.OK //點擊對話框裏面的確定或保存按鈕
3. a. FileName //選擇的文件路徑
b. SelectedPath //得到選擇的文件夾路徑