Jak mogę usunąć plik w C # np. C:\test.txt
, Chociaż stosuję taką samą metodę jak w plikach wsadowych np
if exist "C:\test.txt"
delete "C:\test.txt"
else
return nothing (ignore)
Jest to dość proste przy użyciu klasy File .
if(File.Exists(@"C:\test.txt"))
{
File.Delete(@"C:\test.txt");
}
File.Exists
sprawdzać, ponieważ File.Delete
nie zgłasza wyjątku, jeśli plik nie istnieje, chociaż jeśli używasz ścieżek bezwzględnych, musisz sprawdzić, czy cała ścieżka do pliku jest poprawna.
@
przed ścieżką do pliku? Dla mnie to działa bez.Użyj System.IO.File.Delete w następujący sposób:
System.IO.File.Delete(@"C:\test.txt")
Z dokumentacji:
źródło
An exception is thrown if the specified file does not exist
.System.IO.File.Delete(@"C:\test.txt");
wystarczy. DziękiMożesz zaimportować
System.IO
przestrzeń nazw używając:Jeśli ścieżka do pliku reprezentuje pełną ścieżkę do pliku, możesz sprawdzić jego istnienie i usunąć go w następujący sposób:
źródło
ale
zrobi to samo, o ile folder istnieje.
źródło
Jeśli chcesz tego uniknąć
DirectoryNotFoundException
, musisz upewnić się, że katalog pliku rzeczywiście istnieje.File.Exists
osiąga to. Innym sposobem byłoby wykorzystanie klas użytecznościPath
iDirectory
takich jak:źródło
źródło
źródło
Jeśli czytasz z tego pliku za pomocą FileStream, a następnie chcesz go usunąć, pamiętaj, aby zamknąć FileStream przed wywołaniem File.Delete (ścieżka). Miałem ten problem.
źródło
using
instrukcji, w którejFile.Delete()
wychodziłby poza nawiasy. W tym przykładzie powinieneś również zrobićfilestream.Dispose();
.Czasami chcesz usunąć plik niezależnie od przypadku (bez względu na wyjątek, usuń plik). W takich sytuacjach.
Uwaga: wyjątek nie jest zgłaszany, jeśli określony plik nie istnieje.
źródło
To będzie najprostszy sposób,
Thread.sleep
pomoże doskonale działać, w przeciwnym razie wpłynie to na następny krok, jeśli wykonamy kopiowanie lub zapisywanie pliku.Innym sposobem, w jaki to zrobiłem, jest
źródło