Ich stoße auf einen kleinen Fehler in einer vb.net Konsolenanwendung, mit der ich gerade arbeite.VB.NET: XMLWriter() prüfen, ob ein Verzeichnis existiert und ob eine Datei existiert, sonst erstellen Sie sie
Es dieses Stück Code enthält:
writer = XmlWriter.Create(xmlSaveLocation, settings)
Der Wert xmlSaveLocation ist: C: \ temp \ crawl \ unkomprimierte \ fullCrawl.xml
ich in den Bug lief, weil dies der erste ist Ich starte die Anwendung und weder die Verzeichnisse, noch die Datei existieren auf meinem lokalen C: Laufwerk.
Ich möchte herausfinden, wie ich eine Überprüfung für die Verzeichnisse und die Datei hinzufügen kann, bevor die Zuordnung zu der Writer-Variable auftritt, auf diese Weise müssen zukünftige Benutzer nicht auf dieses Problem stoßen.
Mein erster und einziger Versuch war diese If-Anweisung unten hinzuzufügen:
If (Not System.IO.Directory.Exists(xmlSaveLocation)) Then
System.IO.Directory.CreateDirectory(xmlSaveLocation)
writer = XmlWriter.Create(xmlSaveLocation, settings)
Else
writer = XmlWriter.Create(xmlSaveLocation, settings)
End If
Das nur für das Verzeichnis funktioniert, aber es bricht auf der Datei.
Jede Hilfe würde sehr geschätzt werden.
Vielen Dank.
Dank für Ihre Hilfe danken, aber leider, wenn ich Ihren Code verwenden, erhalte ich eine Ausnahme: Der Zugriff auf den Pfad ‚C: \ temp \ crawl \ unkomprimierte \ fullCrawl. xml 'wird abgelehnt. wenn ich zum filestream für xmlwriter teil komme. Vielen Dank. –
Ich denke, diese Ausnahme wird verursacht, weil der Teil: System.IO.Directory.CreateDirectory (xmlSaveLocation) erstellt: fullCrawl.xml als ein Verzeichnis und nicht als eine Datei, und der FileStreamer versucht, dieses Verzeichnis zu öffnen, als ob es ein war Datei. Kennen Sie eine Arbeit, ohne den Dateinamen als separates Stringstück hinzufügen zu müssen? Vielen Dank. –
Yup, du hast Recht :) Ich habe den Code aktualisiert, jetzt sollte es Verzeichnis richtig erstellen. – nasskov