Получить/открыть файл temp в .NET.
Я хотел бы сделать что-то вроде ниже. Какая функция возвращает мне уникальный файл, который открывается? поэтому я могу убедиться, что он принадлежит мне, и я не буду перезаписывать что-либо или написать сложный fn generate/loop
BinaryWriter w = GetTempFile(out fn);
w.close();
File.Move(fn, newFn);
Ответы
Ответ 1
Для этого есть два метода:
Обычно первый метод достаточно; в документации для GetRandomFileName говорится:
Когда безопасность вашей файловой системы имеет первостепенное значение, этот метод следует использовать вместо GetTempFileName.
Ответ 2
Другой альтернативой является класс TempFileCollection. Он предоставляет оболочку IDisposable, как и в документах для Path.GetTempFileName().
Ответ 3
Вы можете сделать что-то вроде этого:
var path = Path.GetTempFileName();
var stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
var writer = new BinaryWriter(stream);
...
Ответ 4
Можно использовать метод GetTempFileName() для получения довольно уникального временного имени файла.