Parmi les autres choses qui peuvent causer cette erreur :
Vous ne pouvez pas avoir certains caractères dans la chaîne PathFile complète.
Par exemple, ces caractères feront planter la fonction StreamWriter :
"/"
":"
il peut y avoir d'autres caractères spéciaux qui le font planter aussi. J'ai constaté que cela se produit lorsque vous essayez, par exemple, d'insérer une date et une heure dans un nom de fichier :
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
Une façon d'éviter ce problème est de remplacer les caractères problématiques dans NewFileOutS par des caractères bénins :
' 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.
J'espère que cela évitera à quelqu'un des maux de tête... !
0 votes
Quelle est la valeur de
fileName
?0 votes
On dirait que
fileName
est vide.0 votes
Justin, tu avais raison. La valeur du nom de fichier avait C:/ dans le nom. C'est ce qui m'a tué. Merci.