Entwickler-Ecke
IO, XML und Registry - Datei kopieren bzw. ersetzen
DenniZ - Mi 19.12.07 22:47
Titel: Datei kopieren bzw. ersetzen
Hi!
Ich möchte nen Programm machen, was eine vorhandene Datei löscht und danach eine andere Datei kopiert und diese in einen bestimmten Namen umbenennt.
Datei A wird gelöscht, dann möchte ich Datei B kopieren und Datei B umbenennen.
Hier der Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| private void button1_Click(object sender, EventArgs e) { FileInfo fi = new FileInfo(textBox3.Text); if (fi.Exists) { fi.Delete(); }
FileInfo list1 = new FileInfo(textBox4.Text); list1.CopyTo(textBox1.Text, true); } |
Beim ausführen löshct er die Datei, ganz normal.
Nur dann beim kopieren kommt der Fehler:
"An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll
Additional information: Access to the path 'E:\Testordner' is denied."
Achja, momentan möchte ich das so machen, dass die 2 Dateien in ein und dem selben Ordner sind, sollte das Schwierigkeiten bereiten kann ich auch die 2 Dateien in getrennten Ordnern unterbringen.
Hoffe mir kann jemand helfen :-/ das Umbenennen wird das mein nächstes Abendteuer...
Dennis
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
Christian S. - Mi 19.12.07 22:53
Hallo!
(1) CopyTo erwartet als ersten Parameter nicht nur den Ordner, sondern den kompletten Pfad inklusive Dateiname!
(2) Du musst keine FileInfo anlegen, die File-Klasse hat eine statische Methode, die das gleiche leistet.
Grüße
Christian
DenniZ - Mi 19.12.07 22:57
Hm, wenden wir uns Nr.1 zu
Ich muss doch einen Ordner definieren, in den der das rein kopiert und eine Datei, die er kopieren soll, oder?
textBox1 = Dateipfad der zu kopierenden in einer Textbox und textBox4 = Ordner als Pfad in einer Textbox
Muss ich zu TextBox4 also noch eine Datei hinzufügen, oder wie?`Sorry bin nicht sehr gut *g*
Christian S. - Mi 19.12.07 23:06
DenniZ hat folgendes geschrieben: |
| Ich muss doch einen Ordner definieren, in den der das rein kopiert und eine Datei, die er kopieren soll, oder? |
Jein und ja. Du sagst, Datei "e:\foo\bar.txt" wird nach "e:\blubb\blah.txt" kopiert. Du gibst also immer den kompletten Pfad mit Dateinamen an. Wenn Du die Datei kopieren willst ohne sie umzubenennen, gibst Du an, dass "e:\foo\bar.txt" nach "e:\blubb\bar.txt" kopiert werden soll.
DenniZ hat folgendes geschrieben: |
| textBox1 = Dateipfad der zu kopierenden in einer Textbox und textBox4 = Ordner als Pfad in einer Textbox |
Du erstellst von textbox4.Text eine
FileInfo, macht das Sinn, wenn es ein Ordner ist :gruebel:
Gib am Besten den Textboxen mal Namen, die auch was aussagen, da blickt ja keiner durch sonst.
DenniZ - Mi 19.12.07 23:13
Ok :D du hast mir die Augen geöffnet!
Es funktioniert jetzt alles, habs hinbekommen, sorry für das durcheinander in dem Code, und ja nur ich versteh den, kann auch von Nachteil sein.
Jedenfalls funktioniert alles was ich wollte :) Danke fürs helfen, kann geschlossen werden wenn du möchtest ;)
Dennis
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!