tags:

views:

78

answers:

4

I would like to do something like the below. What function returns me an unique file that is opened? so i can ensure it is mine and i wont overwrite anything or write a complex fn generate/loop

BinaryWriter w = GetTempFile(out fn);
w.close();
File.Move(fn, newFn);
+9  A: 

There are two methods for this:

Usually the first method suffices; the documentation for GetRandomFileName says:

When the security of your file system is paramount, this method should be used instead of GetTempFileName.

Joey
+1  A: 

Can use the GetTempFileName() method to obtain a fairly unique temporary file name.

Pat
+1  A: 

You can do something like this:

var path = Path.GetTempFileName();
var stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
var writer = new BinaryWriter(stream);
  ...
Jeffrey Hantin
+1  A: 

Another alternative is the TempFileCollection class. It provides an IDisposable wrapper much like what is suggested in the docs for Path.GetTempFileName().

ScottS
Thats an interesting class.
acidzombie24