Czy istnieje cos takiego jak ExtractFileName jak w Delphi czy C++? Jeżeli tak to jaka jest metoda wydobycia nazwy pliku np z "C:\windows\notepad.exe"? Nie wiem od czego zacząć ;-(
Przecież możesz sam sobie napisać taką funkcję :| Szukasz ostatniego ukośnika i kopiujesz tekst od niego do końca łańcucha tekstowego. Ostatni ukośnik znajdziesz przy pomocy metody o nazwie LastIndexOf().
Dzięki za pomoc :) Poradzilem sobie :) Jak to najprostrze rzeczy najtrudniej przychodzą.
Zostawiam tu dwie funkcje dla potomnych:
- Wyciągająca nazwę pliku z rozszerzeniem:
private String ExtractFileName(String sciezka) //funkcja wyciagajaca nazwe pliku ze sciezki pliku
{
String std;
std=sciezka.Remove(0,sciezka.LastIndexOf("\\")+1);
return std;
}
- Wyciągająca nazwę pliku bez rozszerzenia:
private String ExtractFileNameNoExt(String sciezka) //funkcja wyciagajaca nazwe pliku bez rozszerzenia ze sciezki pliku
{
String std;
std=sciezka.Remove(0,sciezka.LastIndexOf("\\")+1);
std = std.Remove(std.LastIndexOf("."),4);
return std;
}
Czy nie łatwiej i ładniej będzie to zrobić na wyr. regularnych?
A tak w ogóle to:
Klasa Path udostepnia metody do obslugi nazw plików w systemie plików, m.in.:
ChangeExtension Zmiana rozszerzenia nazwy pliku.
GetDirectoryName Cz¦±¢ okre±laj¡ca nazw¦ katalogu w ±cie»ce.
GetExtension Rozszerzenie pliku.
GetFileName Nazwa pliku (bez ±cie»ki).
GetFileNameWithoutExtension Nazwa pliku (bez ±cie»ki i rozszerzenia).
GetFullPath Peªna nazwa pliku.
GetTempName Nazwa tymczasowego pliku.
DirectorySeparatorChar Separator katalogów w nazwach plików (w Windows ").
PathSeparator Separator ±cie»ek w nazwach plików (w Windows ";").
VolumeSeparatorChar Separator woluminu w nazwach plików (w Windows ":")