Wie Sie die Dateinamen aus einer Datei URI extrahieren und einen Link für das gleiche schaffen?
Frage
Mein Problem ist ::
aus einer Zeichenfolge wie "/usr/folder1/folder2/filename.ext"
- Ich habe für die Anzeige nur Dateinamen extrahieren (filename.ext nur).
- Meine Frage wäre, wie soll ich es tun? Splitting auf „/“ und das letzte Element nehmen ist eine Möglichkeit, aber für mich nicht gut riechen.
- Ich habe einen Hyperlink erstellen, die URI der Datei als Ziel verwendet. Das wird etwas ähnliche Datei sein: //domain.com/usr/folder1/folder2/filename.ext
Ich schaute auf URI und URL-Schnittstellen in java.net konnte aber nichts nützlich dort finden.
Auch in einigen Fällen kann mein Dateipfad haben COMMA, SPACE etc (Windows Ordner). Also, halten Sie daran, wenn irgendwelche Ideen zu geben.
Lösung
Sie könnte so etwas wie diese versuchen:
File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());
war ich nicht sicher, ob das funktionieren würde, wenn die Datei nicht existiert, sondern haben versucht, es einfach und es scheint gut zu funktionieren.
Andere Tipps
CommonsIO bietet Lösungen für dieses Problem: FilenameUtils.getName()
, gibt die Dateinamen + Erweiterung.
String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"
Sie sollten einen Blick auf die File-Klasse . Vor allem an den getName () Methode.