既然.Net平台没有提供这样的方法,那么我们就自己来实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
public
static
string
GetTempFileName(
string
extension)
{
string
tempFileName = Path.GetTempFileName();
string
newTempFileName = Path.ChangeExtension(tempFileName, extension);
File.Move(tempFileName,newTempFileName);
return
newTempFileName;
}
public
static
string
GetTempFileName(
string
prefix,
string
extension)
{
return
GetTempFileName(prefix, extension,
null
);
}
/// <summary>
/// 生成临时文件
/// </summary>
/// <param name="prefix">前缀</param>
/// <param name="extension">文件后缀名,包含前导句点('.')</param>
/// <param name="directory">指定在该目录下生成,默认用户目录下的临时目录</param>
/// <returns>临时文件的完整路径</returns>
public
static
string
GetTempFileName(
string
prefix,
string
extension,
string
directory)
{
string
tempFileName =
string
.Empty;
if
(
string
.IsNullOrEmpty(directory))
{
directory = Path.GetTempPath();
}
if
(!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
tempFileName = prefix + Guid.NewGuid().ToString() + extension;
tempFileName = Path.Combine(directory, tempFileName);
FileStream fs =
new
FileInfo(tempFileName).Create();
fs.Close();
return
tempFileName;
}
|