|
.NET TIPS 一時ファイル用のランダムなファイル名を生成するには?[2.0のみ、C#、VB]デジタルアドバンテージ 遠藤 孝信2007/02/09 |
![]() |
|
|
|
プログラムで一時ファイルを作成する場合、そのフォルダにあるほかのファイルと重ならないようなファイル名が必要となる。
このような用途のために、Pathクラス(System.IO名前空間)にはGetTempFileNameメソッドが用意されている(このメソッドについては「TIPS:一時ファイル(テンポラリ・ファイル)を作成するには?」を参照)。
しかしこのメソッドは、ファイル名を生成する過程で、実際にそのファイル(サイズは0)を一時フォルダに作成するという副作用がある(これにより一時フォルダにあるほかのファイルと確実に重複しないファイル名を生成しているのだが)。
.NET Framework 2.0のクラス・ライブラリでは、一時ファイルのファイル名として利用できるランダムなファイル名を返すGetRandomFileNameメソッドが追加されている。このメソッドは乱数を基にして8.3形式のランダムな文字列を返す。単に文字列が返されるだけで、一時ファイルは作成されない。以下にその使用例を示す。
| |
| ランダムなファイル名を表示するC#のサンプル・プログラム(randomfilename.cs) | |
| |
| ランダムなファイル名を表示するVBのサンプル・プログラム(randomfilename.vb) | |
GetRandomFileNameメソッドは、暗号化に使用される厳密な乱数を使用してファイル名を生成する(具体的にはSystem.Security.Cryptography名前空間のRNGCryptoServiceProviderクラスを使用している)。このためGetRandomFileNameメソッドが生成するファイル名が重複する確率は限りなくゼロに近く、実際に一時ファイルを作成する必要もないというわけだ。![]()
| 利用可能バージョン:.NET Framework 2.0のみ カテゴリ:クラス・ライブラリ 処理対象:ディレクトリ&ファイル 使用ライブラリ:Pathクラス(System.IO名前空間) 関連TIPS:一時ファイル(テンポラリ・ファイル)を作成するには? |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
Insider.NET フォーラム 新着記事
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH


