[解決済み】.NETで特定の拡張子を持つtempファイルを作成するには?
2022-03-29 12:24:58
質問
拡張子が.csvのユニークな一時ファイルを生成する必要があります。
今、私がしていることは
string filepath = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
しかし、これでは私の.csvファイルがユニークであることが保証されません。
衝突の可能性が非常に低いことは分かっていますが(特に私が.tmpファイルを削除しないことを考慮すれば)、このコードは私には良いとは思えません。
もちろん、最終的にユニークなものを見つけるまで、手動でランダムなファイル名を生成することもできますが(これは問題ないはず)、他の人がこの問題に対処する良い方法を見つけたかどうか知りたいと思っています。
解決方法は?
統計的に)ユニークであることが保証されている。
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".csv";
(衝突の確率に関するwikiの記事から引用します。
<ブロッククオート...1人が1年間に被弾するリスクは、以下の通りです。 隕石は1個と推定される 170億分の1の確率[19]、つまり その確率は約0.00000000006です。 (6 × 10-11) に相当する確率です。 数十兆個の UUIDが1年に1個でもあれば が複製されます。つまり 10億個のUUIDを生成する 今後100年間は 1個しか作れない確率 複製は50%程度になる。つまり 複製が1つできる確率は 地球上のすべての人が、約50%の確率で 6億のUUIDを所有する
編集部:JaredParさんのコメントもご覧ください。
関連
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] ファイルへの追記はどのように行うのですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?
-
[解決済み] Pythonでファイルサイズを確認するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】パディングが無効で、削除できない?
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?