답변:
File 클래스를 사용하면 매우 간단합니다 .
if(File.Exists(@"C:\test.txt"))
{
File.Delete(@"C:\test.txt");
}
File.Exists
이후 확인 File.Delete
파일이 존재하지 않는 경우 절대 경로를 사용하는 경우 확인을 위해 검사가 필요하지만, 예외를 throw하지 않습니다 전체 파일 경로가 유효합니다.
@
파일 경로 앞에 왜 있습니까? 나를 위해 그것은없이 작동합니다.
System.IO.File.Delete를 다음 과 같이 사용하십시오 .
System.IO.File.Delete(@"C:\test.txt")
설명서에서 :
삭제할 파일이 없으면 예외가 발생하지 않습니다.
An exception is thrown if the specified file does not exist
.
System.IO.File.Delete(@"C:\test.txt");
충분하다. 감사합니다
다음을 System.IO
사용 하여 네임 스페이스를 가져올 수 있습니다 .
using System.IO;
파일 경로가 파일의 전체 경로를 나타내는 경우 파일의 존재를 확인하고 다음과 같이 삭제할 수 있습니다.
if(File.Exists(filepath))
{
try
{
File.Delete(filepath);
}
catch(Exception ex)
{
//Do something
}
}
if (System.IO.File.Exists(@"C:\Users\Public\DeleteTest\test.txt"))
{
// Use a try block to catch IOExceptions, to
// handle the case of the file already being
// opened by another process.
try
{
System.IO.File.Delete(@"C:\Users\Public\DeleteTest\test.txt");
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
return;
}
}
FileStream을 사용하여 해당 파일에서 읽은 후 삭제하려면 File.Delete (path)를 호출하기 전에 FileStream을 닫아야합니다. 나는이 문제가 있었다.
var filestream = new System.IO.FileStream(@"C:\Test\PutInv.txt", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);
filestream.Close();
File.Delete(@"C:\Test\PutInv.txt");
using
문장을 사용하십시오 File.Delete()
. 당신이 가지고있는 예에서, 당신은 또한해야합니다 filestream.Dispose();
.
때로는 어떤 경우이든 파일을 삭제하려고합니다 (예외가 발생하면 파일을 삭제하십시오). 그런 상황에.
public static void DeleteFile(string path)
{
if (!File.Exists(path))
{
return;
}
bool isDeleted = false;
while (!isDeleted)
{
try
{
File.Delete(path);
isDeleted = true;
}
catch (Exception e)
{
}
Thread.Sleep(50);
}
}
참고 : 지정된 파일이 없으면 예외가 발생하지 않습니다.
이것이 가장 간단한 방법입니다.
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
System.Threading.Thread.Sleep(20);
}
Thread.sleep
완벽하게 작동하는 데 도움이됩니다. 그렇지 않으면 파일을 복사하거나 쓰면 다음 단계에 영향을줍니다.
내가 한 또 다른 방법은
if (System.IO.File.Exists(filePath))
{
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
System.IO.File.Delete(filePath);
}