Создание временного каталога в Windows?

119
задан Charles 27 April 2012 в 17:21
поделиться

4 ответа

Нет, нет никакого эквивалента mkdtemp. Наилучший вариант состоит в том, чтобы использовать комбинацию GetTempPath и GetRandomFileName.

Вы должны были бы кодировать подобный этому:

public string GetTemporaryDirectory()
{
   string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
   Directory.CreateDirectory(tempDirectory);
   return tempDirectory;
}
218
ответ дан Scott Dorman 24 November 2019 в 01:48
поделиться

GetTempPath является корректным способом сделать его; я не уверен, какова Ваша озабоченность по поводу этого метода. Можно тогда использовать CreateDirectory для создания его.

2
ответ дан 24 November 2019 в 01:48
поделиться

Как упомянуто выше, Путь. GetTempPath () является одним способом сделать это. Вы могли также звонить Среда. GetEnvironmentVariable ("ВРЕМЕННЫЙ ФАЙЛ") , если пользователю настраивали ВРЕМЕННУЮ переменную среды.

, Если Вы - планирование использования временного каталога как средство сохраняющихся данных в приложении, вероятно, необходимо посмотреть на использование IsolatedStorage как репозиторий для конфигурации/состояния/и т.д...

0
ответ дан Chris Rauber 24 November 2019 в 01:48
поделиться

Мне нравится использовать GetTempPath (), функцию создания GUID, такую ​​как CoCreateGuid () и CreateDirectory ().

GUID спроектирован так, чтобы иметь высокую вероятность уникальности, и также очень маловероятно, что кто-то вручную создаст каталог с той же формой, что и GUID (и если они это сделают, CreateDirectory () не сможет указать его существование.)

7
ответ дан 24 November 2019 в 01:48
поделиться