临时文件夹控制器
应用中,有时候需要创建一个临时文件夹进行操作,操作完以后需要删除临时文件夹。
创建一个控制类,自动创建和删除临时夹。
控制类代码:
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);
//临时文件夹执行代码
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧