.Csv uzantılı benzersiz bir geçici dosya oluşturmam gerekiyor.
Şu an yaptığım şey
string filename = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
Ancak, bu .csv dosyamın benzersiz olacağını garanti etmez.
Şimdiye kadar bir çarpışma var şansı biliyorum (özellikle .tmp dosyalarını silmiyorum düşünüyorsanız), ama bu kod bana iyi görünmüyor.
Tabii ki sonunda benzersiz bir tane bulana kadar rasgele dosya adları oluşturabilirim (ki bu bir sorun olmamalı), ancak başkalarının bu sorunla başa çıkmak için güzel bir yol bulup bulmadığını merak ediyorum.
GetTempFileName()
çağırışınızda yeni bir dosya oluşturur . - Dizeyi hemen başka bir şeye değiştirirseniz, geçici dizininizde yeni bir sıfır bayt dosyası oluşturdunuz (ve diğerlerinin belirttiği gibi, bu da 65535 dosyaya çarptığınızda başarısız olmasına neden olur ...) - - Bundan kaçınmak için, o klasörde oluşturduğunuz tüm dosyaları sildiğinizden emin olun GetTempFileName()
.