File.Copy
에 문제가 발생하기 시작했습니다. 이 문제는 내 데이터 작성 스크립트에서 문제없이 문제없이 수천 개의 파일을 복제 할 수 있습니다. 내 문제는 나중에 내 코드에서 임시 파일을 만들려고 할 때 발생합니다.File.Copy 무단 액세스 C#
제대로 작동하지 않는 코드 샘플을 아래에 추가했습니다. 이 문제를 해결하기 위해 여러 가지 방법을 시도했습니다. 내가하고있는 일은 C 드라이브의 디렉토리에 생성 된 일부 사용자 데이터 파일을 해당 사용자 데이터 폴더 내의 임시 폴더에 복사하는 것입니다.
코드
foreach (string originalFile in OriginalDataFileNames)
{
string tempFile = originalFile;
TempDataFiles.Add(tempFile);
Console.WriteLine("GlobalDataCtrl: Original Data File: " + XWSDataDirectory + "\\" + tempFile);
Console.WriteLine("GlobalDataCtrl: Saved Temp Data File: " + tempPath + "\\" + tempFile);
File.Copy(XWSDataDirectory + "\\" + originalFile, tempPath + "\\" + tempFile);
}
종료 오류가
The program '[6256] XtremeWrestlingSim.vshost.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.
어떤 도움 사전에 감사합니다 감사합니다!
해결책 :
FileStream outputFS = null;
FileStream inputFS = null;
outputFS = new FileStream(tempPath + "\\" + tempFile, FileMode.CreateNew, FileAccess.ReadWrite);
using (inputFS = new FileStream(XWSDataDirectory + "\\" + originalFile, FileMode.Open))
{
inputFS.CopyTo(outputFS);
}
outputFS.Close();
inputFS.Close();
하지 않음이 얼마나 잘 포맷해야합니다,하지만 작동합니다. File.Copy
을 위 코드로 바꾸십시오.
비고? 파일 핸들을 어딘가에 닫지 않을 가능성이 있습니다. 파일을 쓸 때마다'using' 문을 사용하거나'.Close()'를 호출해야합니다. –
[C# UnauthorizedAccessException of File.Copy] 가능한 복제본 (http://stackoverflow.com/questions/18554108/c-sharp) -unauthorizedaccessexception-in-file-copy) – krillgar
새 파일 (File.Create)을 만든 다음 파일 (File.Copy) 바로 위에 기존 파일을 복사하는 이유는 무엇입니까? –