温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#怎么移动、复制和删除文件

发布时间:2021-07-16 18:02:54 来源:亿速云 阅读:1381 作者:chen 栏目:编程语言

本篇内容主要讲解“C#怎么移动、复制和删除文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么移动、复制和删除文件”吧!

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按钮时调用的事件处理程序:

protected void OnDeleteButtonClick(  object sender, EventArgs e)  {  try  {  string filePath = Path.Combine(  currentFolderPath,   textBoxFileName.Text);   string query = "Really delete the   file\n" + filePath + "";   if (MessageBox.Show(query,   "Delete File", MessageBoxButtons.YesNo) ==   DialogResult.Yes)  {  File.Delete(filePath);   DisplayFolderList(currentFolderPath);  }  }  catch(Exception ex)  {  MessageBox.Show("Unable to delete file.   The following exception"    + " occurred:\n" + ex.Message, "Failed");  }  }

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

到此,相信大家对“C#怎么移动、复制和删除文件”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI