应用中,有时候需要创建一个临时文件夹进行操作,操作完以后需要删除临时文件夹。
创建一个控制类,自动创建和删除临时夹。
控制类代码:
public class TempDirectoryController : IDisposable
{
private string _tempDir;
private readonly string _rootPath;
/// <summary>
/// 临时文件夹控制器
/// </summary>
/// <param name="rootPath">临时文件夹的根目录,如果不指定自动创建Temp文件夹</param>
public TempDirectoryController(string rootPath = null)
{
if (rootPath == null)
{
_rootPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Temp");
}
else
{
_rootPath = rootPath;
}
}
/// <summary>
/// 获取临时文件夹路径
/// </summary>
/// <param name="create">是否自动创建文件夹,true自动创建,false只返回路径</param>
/// <returns></returns>
public string GetTempDirectory(bool create = false)
{
_tempDir = Path.Combine(_rootPath, Path.GetRandomFileName());
if (create)
{
FileSystemHelper.TryCreateDirectory(_tempDir);
}
return _tempDir;
}
/// <summary>
///
/// </summary>
public void Dispose()
{
if (_tempDir.IsContainText())
FileSystemHelper.DeleteFileSystemEntry(_tempDir);
}
}
使用示例:
using (var controller = new TempDirectoryController())
{
var tempDir = controller.GetTempDirectory(true);
//临时文件夹执行代码
}
标签:控制器,string,临时,rootPath,文件夹,tempDir,public
From: https://www.cnblogs.com/wzwyc/p/17884619.html