Chciałbym przetestować ciąg zawierający ścieżkę do pliku dla istnienia tego pliku (coś jak test -e
w Perlu lub os.path.exists()
w języku Python) w C#.Jak sprawdzić, czy plik istnieje w C#/.NET?
142
A
Odpowiedz
232
Zastosowanie:
File.Exists(path)
MSDN: http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx
Edycja: W System.IO
25
System.IO.File.Exists (ścieżka)
43
using System.IO;
if (File.Exists(path))
{
Console.WriteLine("file exists");
}
4
Podaj pełną ścieżkę jako dane wejściowe. Unikaj względnych ścieżek.
+0
Pretty one-liner: 'return File.Exists (FinalPath);' – mankers
File.Exists (ścieżka) zwraca wartość false, nawet jeśli plik istnieje, ale dzwoniący nie ma uprawnień do jego odczytu. Czy istnieje inny sposób radzenia sobie z takimi sytuacjami i sprawdzania, czy plik istnieje, nawet jeśli osoba dzwoniąca nie może go odczytać? – ADTC
@ADTC: z punktu widzenia bezpieczeństwa brzmi to normalnie, że działa w ten sposób, z punktu widzenia programisty może to skomplikować sprawę. Czy otrzymasz wyjątek w takim przypadku, jeśli spróbujesz utworzyć plik? – user276648
Przykro mi, nie mogę teraz odpowiedzieć na twoje pytanie, ponieważ dotyczyło to starego projektu. Przypuszczam, że powinien on rzucić wyjątek, ponieważ brak zgody na czytanie powinien oznaczać także brak pozwolenia na nadpisywanie. Ale, nie pewne. – ADTC