이 오류를 유발할 수있는 다른 요인은 다음과 같습니다.
전체 PathFile 문자열에 특정 문자를 포함 할 수 없습니다.
예를 들어 다음 문자는 StreamWriter 함수를 중단시킵니다.
"/"
":"
충돌하는 다른 특수 문자도있을 수 있습니다. 예를 들어 DateTime 스탬프를 파일 이름에 넣으려고 할 때 이런 일이 발생합니다.
AppPath = Path.GetDirectoryName(giFileNames(0))
' AppPath is a valid path from system. (This was easy in VB6, just AppPath = App.Path & "\")
' AppPath must have "\" char at the end...
DateTime = DateAndTime.Now.ToString ' fails StreamWriter... has ":" characters
FileOut = "Data_Summary_" & DateTime & ".dat"
NewFileOutS = Path.Combine(AppPath, FileOut)
Using sw As StreamWriter = New StreamWriter(NewFileOutS , True) ' true to append
sw.WriteLine(NewFileOutS)
sw.Dispose()
End Using
이 문제를 방지하는 한 가지 방법은 NewFileOutS의 문제 문자를 무해한 문자로 바꾸는 것입니다.
' clean the File output file string NewFileOutS so StreamWriter will work
NewFileOutS = NewFileOutS.Replace("/","-") ' replace / with -
NewFileOutS = NewFileOutS.Replace(":","-") ' replace : with -
' after cleaning the FileNamePath string NewFileOutS, StreamWriter will not throw an (Unhandled) exception.
이것이 누군가에게 두통을 덜어주기를 바랍니다 ...!
fileName
무엇입니까?