|
.NET TIPS
一時ファイル(テンポラリ・ファイル)を作成するには?
デジタルアドバンテージ
2004/11/05 |
 |
|
一時ファイル(あるいはテンポラリ・ファイル)とは、アプリケーションが作業中のデータを一時的に保存するために作成するファイルである。.NET Frameworkのクラス・ライブラリでは、Pathクラス(System.IO名前空間)の静的メソッドであるGetTempFileNameメソッドにより、そのような一時ファイルを自動的に作成することができる。
GetTempFileNameメソッドは、Windowsで指定された一時フォルダに、一意のファイル名(既存のファイルと重複しないファイル名)で、サイズが0のファイルを作成し、そのパス名を返す。このとき作成されるファイル名は、常に「tmp<16進文字列>.tmp」という形式になる。<16進文字列>の部分は不定である。
次のサンプル・プログラムは、GetTempFileNameメソッドにより5つの一時ファイルを作成しながら、そのパス名を表示し、最後にこれらのファイルを削除する。
// tempfile.cs
using System;
using System.IO;
public class TempFile {
static void Main() {
string[] names = new string[5];
for (int i = 0; i < 5; i++) {
string name = Path.GetTempFileName();
Console.WriteLine(name);
names[i] = name;
}
// 出力例:
// C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp688.tmp
// C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp689.tmp
// C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp68A.tmp
// C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp68B.tmp
// C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp68C.tmp
for (int i = 0; i < 5; i++) {
File.Delete(names[i]);
}
}
}
// コンパイル方法:csc tempfile.cs
|
|
5つの一時ファイルを作成し削除するC#のサンプル・プログラム(tempfile.cs) |
|
' tempfile.vb
Imports System
Imports System.IO
Public Class TempFile
Shared Sub Main()
Dim names(5) As String
Dim i As Integer
For i = 0 To 4
Dim name As String = Path.GetTempFileName()
Console.WriteLine(name)
names(i) = name
Next
' 出力例:
' C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp688.tmp
' C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp689.tmp
' C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp68A.tmp
' C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp68B.tmp
' C:\DOCUME~1\taka-e\LOCALS~1\Temp\tmp68C.tmp
For i = 0 To 4
File.Delete(names(i))
Next
End Sub
End Class
' コンパイル方法:vbc tempfile.vb
|
|
5つの一時ファイルを作成し削除するVB.NETのサンプル・プログラム(tempfile.vb) |
|
ファイルの削除については、「TIPS:ファイルをコピー/削除/リネーム/移動するには?」を参照していただきたい。実際のアプリケーションでは、GetTempFileNameメソッドにより得られたパス名のファイルをオープンし、データを書き込むことになるだろう。
なお、一時ファイルが作成される一時フォルダについては「TIPS:一時フォルダ(テンポラリ・フォルダ)を取得するには?」で解説している。
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間