C#高级编程:移动、复制和删除文件

开发 后端
本节介绍在特定情况下,调用File类的静态方法Move()、Copy()和Delete()等C#高级编程功能。前面的FileProperties示例扩展为一个新示例FilePropetiesAndMovement。

C#高级编程:文件操作类

大家都知道,移动和删除文件或文件夹可以使用FileInfo 和DirectoryInfo类的MoveTo() 和 Delete()方法来完成。File和Directory类的这两个对应方法是Move() 和 Delete()。FileInfo 和 File类也分别执行CopyTo() 和 Copy()方法。没有复制完整文件夹的方法,而应复制文件夹中的每个文件。

这些方法的使用非常直观—— SDK文档提供了详细的解释。本节介绍在特定情况下,调用File类的静态方法Move()、Copy()和Delete()的作用。为此,把前面的FileProperties示例扩展为一个新示例FilePropetiesAndMovement。这个示例有一个额外的功能:无论什么时候显示文件的属性,该应用程序都会给出删除该文件的选项,或者把该文件移动和复制到其他地方的选项。

C#高级编程:FileInfo使用范例

下面介绍FilePropertiesAndMovement示例。图1所示为该示例的用户界面。

从这个屏幕图上可以看出,它的外观非常类似于FileProperties示例,但在窗口的底部添加了一个组,其中包含三个按钮和一个文本框。这些控件仅在示例显示了文件的属性时才能使用,在其他情况下,它们都是禁用的。我们还压缩了现有的控件,防止主窗体过大。在显示文件的属性时,该示例会自动把文件的完整路径名放在底部的文本框中,供用户编辑。用户可以单击底部的任何一个按钮,执行相应的操作。此时,会显示一个相应的信息框,确认该操作。在上面的示例中,如果用户单击了Copy To,则显示如图图2所示的信息。

C#高级编程
图1

C#高级编程
图2

当用户单击了Yes按钮后,就可以开始执行某些动作。用户在窗体上执行的某些动作会使显示不正确。例如,在移动和删除文件时,显然不能在同一个地方显示该文件的内容。而且,如果改变同一个文件夹上的文件名,显示的信息也会不正确。

此时,FilePropertiesAndMovement示例会重新设置其控件,在文件的操作结束后,只显示包含文件的文件夹。

为此,需要在FileProperties示例中添加相关的控件,及其事件处理程序代码。

我们添加的控件是buttonDelete、buttonCopyTo、buttonMoveTo和 txtBoxNewPath。

首先看看用户单击Delete按钮时调用的事件处理程序:

  1. protected void OnDeleteButtonClick(  
  2. object sender, EventArgs e)  
  3. {  
  4. try  
  5. {  
  6. string filePath = Path.Combine(  
  7. currentFolderPath,   
  8. textBoxFileName.Text);  
  9.  
  10. string query = "Really delete the   
  11. file\n" + filePath + "";  
  12.  
  13. if (MessageBox.Show(query,   
  14. "Delete File", MessageBoxButtons.YesNo) ==   
  15. DialogResult.Yes)  
  16. {  
  17. File.Delete(filePath);  
  18.  
  19. DisplayFolderList(currentFolderPath);  
  20. }  
  21. }  
  22. catch(Exception ex)  
  23. {  
  24. MessageBox.Show("Unable to delete file.   
  25. The following exception"   
  26.  
  27. " occurred:\n" + ex.Message, "Failed");  
  28. }  
  29. }  

这个方法的代码包含在一个try块中,这是因为很显然会抛出一个异常,例如在用户单击了delete按钮后,如果不允许删除该文件,或者当时有另一个进程移动了该文件,就会抛出一个异常。在CurrentParentPath字段中构造要删除文件的路径,其中包含父文件夹的路径,textBoxFileName文本框中的文本。

以上就介绍了C#高级编程:使用文件操作类进行移动、复制和删除文件的方法。

【编辑推荐】

  1. C#中定义装箱和拆箱详解
  2. 浅谈C#类型系统
  3. 三种不同的C#异常类型
  4. 详细介绍C#编译器
  5. C#异常机制的相关解释
责任编辑:冰荷 来源: tzwhx
相关推荐

2009-08-17 07:55:00

C#文件操作

2009-09-09 18:20:29

C# XML编程

2011-04-01 14:24:07

C#编程

2021-10-12 17:47:22

C# TAP异步

2009-08-26 10:34:15

C#类型C#变量

2009-08-25 11:10:20

C#编程实现显示XML

2009-08-17 07:58:00

C#删除文件目录

2009-09-02 19:22:03

C#递归

2009-08-17 08:29:00

c#删除指定文件

2009-09-02 13:15:23

C#数组复制

2009-08-24 09:55:26

C#接口转换

2009-08-24 11:02:52

C#接口映射

2009-09-07 06:31:32

C#窗体移动

2009-12-10 10:30:31

PHP删除复制文件

2009-09-09 18:00:55

C# XML编程

2012-09-24 15:35:24

C#网络协议UDP

2012-09-24 15:13:50

C#网络协议TCP

2010-09-28 08:52:00

C#Visual Stud

2009-08-27 16:11:03

C# delegateC# event

2009-08-13 17:04:09

C#语言C#程序
点赞
收藏

51CTO技术栈公众号