Jestem zajęty pisaniem aplikacji działającej pod WindowsemGdzie jest najlepsze miejsce do zapisywania plików tymczasowych w systemie Windows?
Gdzie jest właściwe miejsce do zapisywania plików tymczasowych?
Jestem zajęty pisaniem aplikacji działającej pod WindowsemGdzie jest najlepsze miejsce do zapisywania plików tymczasowych w systemie Windows?
Gdzie jest właściwe miejsce do zapisywania plików tymczasowych?
Jeśli używasz .NET, należy użyć Path.GetTempPath(). Zapewni to korzystanie z katalogu tymczasowego przypisanego do użytkownika, który uruchamia aplikację, niezależnie od tego, gdzie jest przechowywany.
Jeśli przeglądania systemu plików, można zauważyć, że istnieje wiele "Temp" katalogi:
... i wiele innych. Niektóre z tych ścieżek zależą od systemu operacyjnego i nie będą dostępne w niektórych wersjach systemu Windows. Zatem zaoszczędź sobie trochę czasu i kłopotów, a struktura .NET niech zorientuje się, gdzie znajduje się ścieżka "temp".
To - lub użyj izolowanego magazynu, do którego użytkownik ma zawsze zagwarantowany dostęp do zapisu! –
Co więcej, wystarczy użyć ścieżki Path.GetTempFileName(), która wygeneruje również nazwę pliku i zwróci pełną ścieżkę do niego (w odpowiednim folderze temp). –
W katalogu temp?
Zastosowanie GetTempPath lub w pliku wsadowym% TEMP%
Użyj interfejsu API GetTempPath lub odpowiednika dla swojego środowiska programistycznego.
C: \ Temp NIE jest dobrym wyborem.
Jeśli używasz .NET należy użyć kodu jak poniżej:
string baseFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string cfgFolder = Path.Combine(baseFolder, "MyAppName");
try
{
if (!Directory.Exists(cfgFolder))
{
Directory.CreateDirectory(cfgFolder);
}
}
catch { } // If no access, not much we can do.
aby uzyskać miejsce dla średnioterminowego przechowywania danych aplikacji lub Path.GetTempPath() do tymczasowego przechowywania danych.
Dlaczego nie jest dobrym pomysłem użycie 'c: \ Temp'? Nie zgadzam się z twoim punktem, jestem po prostu ciekawy co do twojego rozumowania =) –
C: \ może być naprawdę małą partycją, w wielu przypadkach normalni (nie administratorzy) użytkownicy nie mają uprawnień do zapisu C: \, więc nie mogą utworzyć C: \ temp –
Co więcej, kto powiedział, że C: \ temp istnieje nawet w nie-angielskim systemie Windows? –
Użyj GetTempPath i ewentualnie GetTempFileName, aby ustalić, gdzie umieścić swoje pliki tymczasowe. Jest to najbardziej niezawodny, przyjazny dla użytkownika i przyszłościowy sposób uzyskania tymczasowej lokalizacji plików.
To zależy od języka używanego:
string tempFolder = System.IO.Path.GetTempPath();
powróci odpowiedni folder w C# na przykład.
lub zmienne środowiskowe TEMP lub TMP, jeśli musisz.
C: \ Documents and Settings \ nazwa użytkownika \ Dane aplikacji \ IsolatedStorage
Tak, ale proszę korzystać z udokumentowanego izolowanego interfejsu API pamięci masowej i nie koduj tej ścieżki w bezpieczny sposób!W systemie z niemiecką wersją systemu Windows będzie to np. "C: \ Dokumente \ ....." i jeśli utniesz tę ścieżkę, twoja aplikacja się zepsuje. FOLKS: JEŚLI MASZ API, ABY ZROBIĆ COŚ, ** UŻYWAJ JEJ !! –
Katalog tymczasowy? –