一个小巧的 C# 文件克隆类
介绍一个可以帮助您创建文件自动副本,并自动清理它们的类。
引言
本文展示了一个可以在各种项目中使用的类,以简化以下过程:
- 创建文件的临时副本。
- 对临时文件执行操作。
- 删除临时文件的副本。
背景
我创建这个类是为了一个 Web 应用程序项目,在该项目中,我将一些 Microsoft Excel 文档读取到内存中,在内存中操作 Excel 文档,最后将它们发送到用户的 Web 浏览器。
通常,这项任务就像执行一些 File 操作并获取文件的 Stream 对象一样简单。当文件未在 Microsoft Excel 中打开时,这很好用。当它打开时,Excel 会独占锁定它,导致我在尝试访问文件流时代码中出现异常。
仍然有效的方法是复制文件。
因此,我创建了一个实现 IDisposable 接口的类,在构造函数中创建文件的临时副本,并在析构函数或通过 IDisposable.Dispose 方法中再次删除临时文件。
Using the Code
使用这段代码非常简单。与其编写如下代码:
// ...Do some operations to the file...
myFunctionThatOperatesOnTheFile( @"C:\Some\Path\File.xlsx" );
您编写如下代码:
using ( var tfc = new ZetaTemporaryFileCloner( @"C:\Some\Path\File.xlsx" ) )
{
// ...Do some operations to the file...
myFunctionThatOperatesOnTheFile( tfc.FilePath );
}
很简单,不是吗?
关注点
在本文中,我向您展示了一个非常小的类,它允许自动创建和删除临时文件。下载包含完整的 C# 类,您可以将其直接放入您自己的项目中。
如果您有任何问题、评论或反馈(我很乐意收到!),请使用本文底部的评论区。谢谢!
历史
- 2010-09-06 - 添加了相关文章 "一个小的 C# 文件创建类"
- 2010-07-05 - CodeProject.com 的首次发布