.Net的IO中,有个静态方法是生成一个临时文件:
public static string Path.GetTempFileName();对比java中生成临时文件的方法:
public static File File.createTempFile (String prefix, String suffix, File directory);
确实是C#的太差了;java 的可以指定前缀和后缀,还可以指定生成目录,多方便啊。
既然.Net平台没有提供这样的方法,那么我们就自己来实现:
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);}////// 生成临时文件/// /// 前缀/// 文件后缀名,包含前导句点('.')/// 指定在该目录下生成,默认用户目录下的临时目录///临时文件的完整路径 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;}