Правильное место для сохранения временного файла в Windows? - PullRequest
47 голосов
/ 15 апреля 2009

У меня есть файл, который мне нужно записать во временную папку, какое лучшее место в Windows? Этот файл не должен перемещаться, так как мне нужно прочитать его пару раз и утилизировать при закрытии программы.

Ответы [ 5 ]

44 голосов
/ 15 апреля 2009

использование

Path.GetTempPath();

или

Path.GetTempFileName();

Как отметил комментатор, GetTempFileName () не является потокобезопасным, но вы можете создавать уникальные имена файлов на основе идентификаторов GUID.

11 голосов
/ 15 апреля 2009

Остальные избили меня до

System.IO.Path.GetTempPath()

Но вы также можете заглянуть в папку с данными приложения. Это позволит вам лучше контролировать свой файл, например, возможность иметь 1 общий доступ для всех пользователей или 1 для каждого пользователя.

Application.CommonAppDataPath
Application.UserAppDataPath
7 голосов
/ 15 апреля 2009

Используйте функцию Windows API GetTempPath() из System.IO.Path (см. MSDN )

using System.IO

...

myTempPath = Path.GetTempPath();

Вы должны знать, что файловая система может измениться во время выполнения вашей программы. Либо временный путь может измениться (маловероятно, предоставлен), либо ваш временный файл мог быть перемещен или удален пользователем.

Будьте готовы проверять его существование при каждом доступе к нему и обрабатывать случай, когда он не найден изящно.

0 голосов
/ 20 апреля 2017

Если вы хотите создать свое собственное временное имя файла со ссылкой на временное местоположение, я использую что-то вроде этого, чтобы удалить PATH и применить мое собственное имя файла ...

string wsPDFfile = Path.GetTempPath() + wsStudentID + "_" + Path.GetFileNameWithoutExtension(Path.GetTempFileName()) + ".pdf";
0 голосов
/ 16 апреля 2009

Если вам нужно, чтобы ваше приложение писало во временное местоположение и работало с частичным доверием, вам нужно изучить IsolatedStorage .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...