erstellen von Dateien, rekursiv Verzeichnisse erstellen
Las ich einige Datei-E /a-tutorials für C# und haben es geschafft, zu schreiben, einige Dateien, aber was, wenn der Weg, den ich bekomme, enthält Verzeichnisse?
Zum Beispiel, ich möchte um die Datei zu erstellen namens data/my_file
außer data
Ordner nicht vorhanden ist.
Die Linie,
BinaryWriter outFile = new BinaryWriter(File.OpenWrite(path));
wo path
ist der oben genannten Zeichenfolge, stürzt ab mit der Meldung, dass ein Teil des Pfads nicht vorhanden ist, was bedeutet, dass C# nicht, Sie zu erstellen, wie erforderlich.
Möchte ich C# mit all den chaotisch-Verzeichnis erstellen und überprüfen für mich, anstatt mich mit zu analysieren Pfad, und erstellen Sie alle erforderlichen Verzeichnisse. Ist das möglich? Ansonsten ist es ein code-snippet, das kann ich einfach kopieren, in mein Projekt, die behandeln alles, was ich sein könnte mit Blick auf (da weiß ich nicht viel über das Datei-management).
InformationsquelleAutor der Frage That Umbrella Guy | 2012-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
System.IO.- Verzeichnis.CreateDirectory() erstellen, werden alle Verzeichnisse und Unterverzeichnisse in einem angegebenen Pfad, sollte Sie nicht bereits vorhanden sind.
Können Sie es nennen, übergeben Sie den Pfad, um sicherzustellen, die Ordner-Struktur erstellt wird, bevor das schreiben Ihrer Datei.
InformationsquelleAutor der Antwort Eric J.
Während System.IO.- Verzeichnis.CreateDirectory() wird in der Tat erstellen Sie die Verzeichnisse, die Sie rekursiv, stieß ich auf eine situation, wo ich musste, um mit meiner eigenen Methode. Im Grunde System.IO nicht unterstützt Pfade über 260 Zeichen, die mich gezwungen, zu verwenden, Delimon.Win32.IO-Bibliothek, die das arbeiten mit langen Pfaden, aber nicht erstellen Sie Verzeichnisse rekursiv.
Hier ist der code, den ich verwendet zum erstellen von Verzeichnissen rekursiv:
InformationsquelleAutor der Antwort Eternal21
So, der oben nicht funktionierte super gut für mich für die basic-Verzeichnis erstellen. Ich veränderte ein bisschen zu handhaben häufigsten Fällen für Laufwerkbuchstaben und-Pfad mit einer Datei-Ressource am Ende.
InformationsquelleAutor der Antwort williambq
Vorherigen Antworten nicht behandeln Netzwerk-Pfade.
Beigefügten code, der auch verarbeitet.
Und die "CleanDoubleSlashes Funktion":
InformationsquelleAutor der Antwort ephraim