파일이 존재하면 먼저 삭제하고 파일을 쓰고 싶습니다. 코드는 다음과 같습니다.기존 파일을 삭제하지 않음
try
{
if (File.Exists("qwe.mp4"))
{
File.Delete("qwe.mp4");
}
File.WriteAllBytes("qwe.mp4", encodedDataAsBytes);
}
그러나 프로그램을 실행하면 기존 데이터는 삭제되지 않지만 이전 데이터는 다음 데이터에 추가됩니다. (첫 번째 데이터는 2 초 만에 새 데이터를 추가 한 후 4 초가됩니다). 새로운 데이터는 처음 2 초만 재생할 수 있고 다른 2 초는 읽을 수 없다는 의미로 읽을 수는 없습니다.
어떻게 해결해야합니까? 나는 기존의 파일을 영구적으로 삭제하고 새로운 파일로 새로운 파일을 만들고 싶다.
같은
FileMode.Create
와 파일 스트림을 작성하지 왜 덮어 쓸 수'File.WriteAllBytes'는 파일의 내용을 덮어 씁니다. 데이터가 파일에 추가되면 다른 코드가 실행 중입니다. 제안 : 디버거를 단계별로 실행하십시오. – RichardFile.WriteAllBytes, 새 파일을 만들고 지정된 바이트 배열을 파일에 쓴 다음 파일을 닫습니다. 대상 파일이 이미 있으면 덮어 씁니다. – andy