如何使用 .NET 创建具有特定扩展名的临时文件?

2023-12-06

我需要生成一个扩展名为 .csv 的唯一临时文件。

我现在做的是

string filepath = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");

但是,这并不能保证我的 .csv 文件是唯一的。

我知道发生冲突的可能性非常低(特别是如果您认为我没有删除 .tmp 文件),但这段代码对我来说看起来不太好。

当然,我可以手动生成随机文件名,直到我最终找到一个唯一的文件名(这不应该成为问题),但我很想知道其他人是否找到了解决此问题的好方法。


保证(统计上)唯一:

string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".csv"; 

(引用维基百科关于碰撞概率的文章:

...一个人每年被撞击的风险 陨石估计是一颗 170 亿的机会[19],这意味着 概率约为 0.00000000006 (6 × 10−11),相当于 创造了数十万亿 一年内的 UUID 并有一个 复制。换句话说,只有在之后 每年生成 10 亿个 UUID 未来100年的第二位 只创建一个的概率 重复率约为 50%。这 一个重复的概率是 大约 50% 如果地球上的每个人 拥有6亿个UUID

编辑:另请参阅 JaredPar 的评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 .NET 创建具有特定扩展名的临时文件? 的相关文章

  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • 有没有办法设置 log4net 内存附加程序可以包含的最大错误消息数?

    我想向根记录器添加一个内存附加程序 以便我可以连接到应用程序并获取最后 10 个事件 我只想保留最后 10 个 我担心这个附加程序会消耗太多内存 该应用程序设计为 24 7 运行 或者还有别的办法吗 您需要创建一个自定义附加程序来存储有限数
  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • 当在 Repository/UnitOrWork 之上使用 Service 类时,我应该在哪里放置逻辑不适合 Repository 的常用数据访问代码?

    In my 先前的问题 https stackoverflow com questions 24906548 using the generic repository unit of work pattern in large projec
  • C++ 标准中短语“构造函数没有名称”的含义

    在尝试理解 C 标准中的 构造函数没有名称 这句话时 我似乎在 clang 中发现了一个错误 有人可以证实这一点吗 VS2015 and gcc rejects this code and I think they it are is co
  • 你能解释一下这个C++删除问题吗?

    我有以下代码 std string F WideString ws GetMyWideString std string ret StringUtils ConvertWideStringToUTF8 ws ret return ret W
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 为什么 C# 接口名称前面加上“I”

    这种命名约定背后的基本原理是什么 我没有看到任何好处 额外的前缀只会污染 API 我的想法与康拉德一致response https stackoverflow com a 222502 9898与此相关的question https sta
  • 如何强制执行特定的 UserControl 设计

    我正在编写一个基本用户控件 它将由一堆其他用户控件继承 我需要对所有这些后代控件强制执行某种设计 例如 顶部必须有几个按钮以及一个或两个标签 后代用户控件区域的其余部分可以自由放置任何内容 最初 我认为我可以将一个面板放到 Base Use
  • 检测 SignalR Hub 客户端立即断开连接

    SignalR Hub OnDisconnected 何时在服务器端引发 对于崩溃或关闭而不调用Stop method 我正在使用 SignalR NET 客户端进行测试 而不是 javascript 客户端 如果我打电话给Stop客户端上
  • 如何使用 ASP.NET Web 表单从代码隐藏中访问更新面板内的文本框、标签

    我在更新面板中定义了一些控件 它们绑定到中继器控件 我需要根据匿名字段隐藏和显示用户名和国家 地区 但问题是我无法以编程方式访问更新面板中定义的控件 我如何访问这些控件 我也在网上查找但找不到很多参考资料 下面是来自aspx页面和 cs页面
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E

随机推荐

  • Json.NET,可以扩展SerializeXmlNode来检测数字吗?

    我正在使用以下方法从 XML 转换为 JSONSerializeXmlNode 看起来预期的行为是将所有 XML 值转换为字符串 但我想在适当的情况下发出真实的数值 Input
  • 在 C 中保留前导零 [重复]

    这个问题在这里已经有答案了 我试图在 c 中打印一个整数 但那些以零开头的整数引起了我的问题 例如如果没有 是 01234 它打印像 1234 而不是 01234 请告诉如何在 C 中做到这一点 我的问题是有 2 个整数 我想知道第一个整数
  • Django admin 保存对象的副本而不是覆盖

    我有一个名为 OneToOneFiled 的模型alg id 当我进入管理面板并更改现有对象中的此字段时 就会创建一个新对象 但我想用不同的对象覆盖相同的对象alg id 当我更改其他简单文本字段时 一切正常 如果我改变alg id对于一个
  • StringIndexOutOfBoundsException 字符串索引超出范围:0 [重复]

    这个问题在这里已经有答案了 我正在编写一个程序 打开一个文本文件并检查注释 然后它解析评论以检查某些单词 我遇到的错误是以下 while 循环 该循环检查当前行是否 如果存在非反斜杠字符 则以空格或 以外的任何字符开头 然后 while 循
  • KarateException 路径中缺少属性 - JSON

    我试图匹配响应中的特定变量并尝试如下 但我收到错误消息KarateException Missing Property in path Odata 我的问题是 我们如何修改才能避免出现此错误 Feature And match email
  • 如何使用 c#.net 4.0 在最大定义的并行线程中运行任务

    我有 1 个方法 我想在 10 个不同的并行线程中运行 所有方法都是独立的 彼此之间没有依赖关系 我的问题是 如果我有 100 个项目要处理并且想一次处理 10 个 那么如何做一次运行 10 次 我创建了一个示例代码 我正在使用Parall
  • URL 重写 - 初学者指南

    我需要学习如何对网站进行 URL 重写以获得漂亮的 URL 通过阅读 50 篇教程 我对它的工作原理有了一个大概的了解 但他们都没有真正发挥作用 也从未设法使其正常工作 您知道有哪些适合我入门的教程吗 这是我想如何使用它的示例 这是基本链接
  • 如何使用Dompdf转换多个html文件?

    我在做什么 我正在使用一个名为的 PHP 库Dompdf将我的 HTML 文件转换为 PDF 我已成功将单个 HTML 文件转换为 PDF 我正在尝试做的事情 现在我有多个报告 我想将它们转换为 PDF 文件 我在做什么 我在这里有一个示例
  • 为什么扫描仪会跳过用户的输入

    我有一个小任务 允许用户输入任何国家的地区及其邻居 我做了所有的事情 只是有一个小问题 那就是当我运行我的代码时 程序要求用户输入区域的数量 如果用户输入 13 或数字大于 10 系统会认为该数字就像两个输入 它不会允许用户为第二个问题输入
  • iOS 11 Safari 引导模式文本区域位于光标之外

    在 iOS 11 safari 中 输入文本框光标位于输入文本框之外 我们不明白为什么会出现这个问题 正如您所看到的 我的焦点文本框是电子邮件文本输入 但我的光标位于其中 这只发生在 iOS 11 Safari 上 我通过添加解决了这个问题
  • 找不到 pandas==1.3.1 的匹配发行版

    我目前拥有版本 1 1 5 的 Pandas 我正在尝试使用以下命令安装最新版本的 Pandas pip install pandas 1 3 1 但是 我收到如下错误 ERROR Could not find a version that
  • 无法在 Eclipse 中加载 Maven 项目中的 Widgetsets

    我使用 maven 创建了一个 vaadin Web 应用程序eclipse 特别是我使用了原型vaadin archetype touchkit如中所述瓦丁之书 20 3 4 在没有对默认生成的代码进行任何更改的情况下 我已经使用带有目标
  • 如何集成 Expression> 来清理我的 Linq-to-Entity 查询?

    我想使用Expression
  • 打印时 pyodbc 弃用警告

    当我跑步时print cursor fetchone pyodbc 包 我有以下警告 main py 33 DeprecationWarning PyUnicode FromUnicode NULL size is deprecated u
  • libxml/tree.h 没有这样的文件或目录

    我收到以下错误 libxml tree h 没有这样的文件或目录 我已经添加了libxml2 dylib到我的项目 但是我遇到了这种麻烦 请帮我 遵循指示here 在 设置项目文件 下 设置您的项目文件 您需要将 libxml2 dylib
  • .htaccess 重定向域别名'

    我有一个客户 它有大量的域别名 并希望它们全部重定向到网站上的一个主域 他们还想知道哪个域别名正在执行重定向 我已经把那部分写下来了 但我想将代码优化到最好 最正确的方式 并消除我必须编写的代码量 我想知道是否有办法将所使用的域别名传递给
  • qt.qpa.xcb:无法连接显示 qt.qpa.plugin:无法加载 Qt 平台插件“xcb”

    运行下面的代码后 我收到以下错误 Got keys from plugin meta data xcb QFactoryLoader QFactoryLoader checking directory path usr bin platfo
  • Windows 8 商店应用程序是否支持 MS Access 数据库?

    我刚刚开始学习 Windows 8 应用商店应用程序编程 并遇到了一个问题 Windows 8 应用商店应用程序是否支持 MS Access 数据库 如果不是那么它支持哪些数据库 根据您对支持的定义 您可以创建一个 WCF 服务 允许您从
  • 如何获取当前正在执行的 javascript 代码的文件路径

    我正在尝试做类似 C 的事情 include filename c 或PHPinclude dirname FILE filename php 但在 JavaScript 中 我知道如果我可以获得加载 js 文件的 URL 例如标签的 sr
  • 如何使用 .NET 创建具有特定扩展名的临时文件?

    我需要生成一个扩展名为 csv 的唯一临时文件 我现在做的是 string filepath System IO Path GetTempFileName Replace tmp csv 但是 这并不能保证我的 csv 文件是唯一的 我知道