Como posso excluir um arquivo em C # C:\test.txt
, por exemplo , embora aplique o mesmo tipo de método como nos arquivos em lote, por exemplo
if exist "C:\test.txt"
delete "C:\test.txt"
else
return nothing (ignore)
Isso é bastante simples usando a classe File .
if(File.Exists(@"C:\test.txt"))
{
File.Delete(@"C:\test.txt");
}
File.Exists
verificação, pois File.Delete
não gera uma exceção se o arquivo não existir, embora se você estiver usando caminhos absolutos, precisará da verificação para garantir que o arquivo o caminho completo do arquivo é válido.
@
antes do caminho do arquivo? Para mim, funciona sem.Use System.IO.File.Delete assim:
System.IO.File.Delete(@"C:\test.txt")
A partir da documentação:
fonte
An exception is thrown if the specified file does not exist
.System.IO.File.Delete(@"C:\test.txt");
. ObrigadoVocê pode importar o
System.IO
espaço para nome usando:Se o caminho do arquivo representar o caminho completo para o arquivo, você poderá verificar sua existência e excluí-lo da seguinte maneira:
fonte
mas
fará o mesmo desde que a pasta exista.
fonte
Se você deseja evitar um
DirectoryNotFoundException
, precisará garantir que o diretório do arquivo realmente exista.File.Exists
realiza isso. Outra maneira seria utilizar as classes utilidadePath
eDirectory
assim:fonte
fonte
fonte
Se você estiver lendo esse arquivo usando o FileStream e depois quiser excluí-lo, feche o FileStream antes de chamar o File.Delete (caminho). Eu tive esse problema.
fonte
using
declaração, na qual elaFile.Delete()
sairia dos colchetes. No exemplo que você tem, você também deve fazer umfilestream.Dispose();
.Às vezes, você deseja excluir um arquivo, seja qual for o caso (seja qual for a exceção, exclua o arquivo). Para tais situações.
Nota: Uma exceção não será lançada se o arquivo especificado não existir.
fonte
Esta será a maneira mais simples,
Thread.sleep
ajudará a funcionar perfeitamente; caso contrário, afetará a próxima etapa se estivermos copiando ou gravando o arquivo.Outra maneira que eu fiz é,
fonte