Entwickler-Ecke

WinForms - Namen einer Datei im Windows Dialog auslesen


Felix2000 - Mi 17.08.11 12:48
Titel: Namen einer Datei im Windows Dialog auslesen
Hi Folks !

Wie genau kann ich in dem Windows Dialogfenster "Öffnen" den Namen der Datei auslesen, die ich gerade über eine Anwendung geöffnet habe? Den Inhalt der Datei kann ich bereits auslesen, allerdings weiß ich nicht, wie das bei dem Namen der Datei funktioniert.

Danke für Hilfe !!

Greetz
felix


bakachan - Mi 17.08.11 12:57

Meinst du den Namen der Datei die gerade ausgewählt wurde? (geöffnet wurde da ja noch nichts)

C#-Quelltext
1:
string fileName = myOpenFileDialog.FileName;                    


Felix2000 - Mi 17.08.11 13:04

thx !

Allerdings wird die Datei immer wieder mit dem Laufwerk und der Dateiendung ausgelesen. Wie kann ich das Laufwerk und die Dateieinendung aus meinem String entfernen? Ein erster Versuch meinerseits brachte leider nicht den gewünschten Erfolg:


C#-Quelltext
1:
2:
FileLength = ((FileName.Length) - 4);
FileName.Remove(FileLength, 4);


Greetz
Felix


bakachan - Mi 17.08.11 13:12

Die Remove-Funktion von Strings ändert nicht den aktuellen Wert sondern gibt einen neuen String zurück (deswegen immer auf den Rückgabetyp achten).

Allerdings muss eine Dateiendung nicht unbedingt 3 Zeichen lang sein.

Schau dir dazu am besten mal die FileInfo-Klasse im System.IO-Namensraum an. Da gibt es entsprechende Eigenschaften/Funktionen um den reinen Dateinamen zu erhalten.

Edit: System.IO.Path vergessen, siehe einen Post weiter unten (ist einfacher).


Th69 - Mi 17.08.11 13:18

Dafür gibt es schon die Path.GetFileNameWithoutExtension-Methode...


mats74 - Mi 17.08.11 13:26

Ich verwende openfiledialog.SafeFileName.
Ergibt aber den Filenamen mit der Endung.