다음 코드는 고정 된 파일 + 파일 경로가 내 코드에 선언되어 작동하는 것으로 이해할 때 작동합니다.FileStream을 사용하여 이상한 예외 처리
NetworkStream netStream = client.GetStream();
string FileName = @"D:\John\FYL\video1.mp4";
Directory.CreateDirectory(Path.GetDirectoryName(FileName));
using (FileStream fs = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write))
{
netStream.CopyTo(fs);
}
netStream.Close();
}
그러나이 프로토 타입에서는 실패합니다.
NetworkStream netStream = client.GetStream();
// FileName is taken at run time on button click from textbox.
using (FileStream fs = new FileStream(@"D:\John\FYL\"+FileName, FileMode.OpenOrCreate, FileAccess.Write))
{
netStream.CopyTo(fs);
}
netStream.Close();
}
지금은 File.Create
을 사용하고 작동 실행시 FileName
을 받고 다른 경우를 선택한 경우. 내가 찾아보기 대화 상자에서 실행시 저장 위치를 얻을 수 있지만 있기 때문에
FileStream output = File.Create(@"D:\John\" + FileName)
내가 의심 해요 난 내 로컬 드라이브에 대한 보안 설정을 변경하더라도 FileStream fs = new FileStream(@"D:\John\FYL\+FileName
는 System.IO.DirectoryNotFoundException
및 System.UnauthorizedAcessException
같은 예외가 발생하는 이유.
이 코드에 영향을주는 스레드는 런타임에로드되는 코드의 일부이며 클릭 이벤트입니까?
이 코드는 form_load()에서 시작된 스레드에서 사용하고 있습니다.이 스크립트는 browse_click이'FileStream()'을 (를) 만들 때까지 기다려야합니까? – Khan
Btw가 반환 한 내용'mscorlib.dll에서 'System.IO.DirectoryNotFoundException'형식의 처리되지 않은 예외가 발생했습니다. 추가 정보 : 'D : \ John \ FYL \'경로의 일부를 찾을 수 없습니다. ' – Khan
@ Khan 'Browse'버튼을 클릭하기 전에 코드가 실행되었다고 말하는가? 'FileName' 변수가 아직로드되지 않았다는 것을 의미합니까? – Dan