Wie Sie die Dateierweiterung einer Datei in Java erhalten
-
Abrufen der Dateierweiterung mit der Methode
getExtension()
in Java -
Ermitteln der Dateierweiterung einer Datei mit der
lastIndexOf()
Methode in Java - Abrufen der Dateierweiterung einer Datei mit String-Parsing in Java
-
Abrufen der Dateierweiterung einer Datei mit der Methode
replaceAll()
in Java -
Abrufen der Dateierweiterung einer Datei mit der
contains()
undlastIndexOf()
Methode in Java - Abrufen der Dateierweiterung einer Datei mit ternären Operatoren in Java
-
Abrufen der Dateierweiterung einer Datei mit der
stream()
Methode in Java - Abrufen der Dateierweiterung einer Datei mit Regex in Java
Dieser Beitrag führt ein, wie man die Dateierweiterung einer Datei in Java erhält und listet auch einige Beispielcodes zum Verständnis des Themas auf.
Abrufen der Dateierweiterung mit der Methode getExtension()
in Java
Um eine Erweiterung einer Datei zu erhalten, können wir die Methode getExtension()
der Klasse FilenameUtils
verwenden. Diese Methode gibt die Erweiterung der Datei zurück. Da diese Methode zur Apache
-Commons-Bibliothek gehört, müssen Sie die Bibliothek von der offiziellen Apache-Website herunterladen, um JARs in Ihrem Projekt verwenden zu können.
import org.apache.commons.io.FilenameUtils;
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "student-records.pdf";
String fe = FilenameUtils.getExtension(fileName);
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Ermitteln der Dateierweiterung einer Datei mit der lastIndexOf()
Methode in Java
Wenn Sie keine eingebaute Methode verwenden wollen, dann verwenden Sie das angegebene Code-Beispiel, das die lastIndexOf()
Methode verwendet, um die Dateierweiterung zu erhalten. Das ist der einfachste und leichteste Weg, der nur String-Methoden beinhaltet. Siehe das Beispiel unten.
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "student-records.pdf";
String fe = "";
int i = fileName.lastIndexOf('.');
if (i > 0) {
fe = fileName.substring(i + 1);
}
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Abrufen der Dateierweiterung einer Datei mit String-Parsing in Java
Dies ist eine weitere Lösung, die mehrere Szenarien einschließt, darunter das eine (wenn dot(.)
im Dateipfad liegt). Diese Methode gibt das genaue Ergebnis auch dann zurück, wenn der Dateipfad einen Punkt(.
) zwischen dem Dateipfad enthält. Siehe das Beispiel unten.
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "folder\s.gr\fg\student-records.pdf";
String fe = "";
char ch;
int len;
if (fileName == null || (len = fileName.length()) == 0 || (ch = fileName.charAt(len - 1)) == '/'
|| ch == '\\' || ch == '.') {
fe = "";
}
int dotInd = fileName.lastIndexOf('.'),
sepInd = Math.max(fileName.lastIndexOf('/'), fileName.lastIndexOf('\\'));
if (dotInd <= sepInd) {
fe = "";
} else {
fe = fileName.substring(dotInd + 1).toLowerCase();
}
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Abrufen der Dateierweiterung einer Datei mit der Methode replaceAll()
in Java
Wir können die Methode replaceAll()
verwenden, um die Dateierweiterung zu erhalten, wie wir es im folgenden Beispiel getan haben. Wir verwenden in dieser Methode reguläre Ausdrücke und sammeln das Ergebnis in einer Variablen.
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "folder\s.gr\fg\student-records.pdf";
String fe = "";
fe = fileName.replaceAll("^.*\\.(.*)$", "$1");
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Abrufen der Dateierweiterung einer Datei mit der contains()
und lastIndexOf()
Methode in Java
Die Methode contains()
wird verwendet, um zu prüfen, ob das angegebene Zeichen in der Zeichenkette vorhanden ist oder nicht, und die Methode lastIndexOf()
gibt einen Indexwert des angegebenen Zeichens zurück, der an die Methode substring()
übergeben wird, um die Dateierweiterung zu erhalten. Wir verwenden diese Methoden in diesem Code, um die Dateierweiterung zu erhalten. Siehe das Beispiel unten.
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "folder\s.gr\fg\student-records.pdf";
String fe = "";
if (fileName.contains("."))
fe = fileName.substring(fileName.lastIndexOf(".") + 1);
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Abrufen der Dateierweiterung einer Datei mit ternären Operatoren in Java
Wenn Sie mit ternären Operatoren(?, :
) vertraut sind, dann verwenden Sie sie mit der Methode substring()
und lastIndexOf()
. Er reduziert die Codezeile und gibt das Ergebnis in einer einzigen Anweisung zurück.
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "folder\s.gr\fg\student-records.pdf";
String fe = "";
if (fileName.contains(".")) {
int i = fileName.lastIndexOf('.');
fe = i > 0 ? fileName.substring(i + 1) : "";
}
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Abrufen der Dateierweiterung einer Datei mit der stream()
Methode in Java
Wir können die stream()
Methode der Arrays
Klasse benutzen, um den Dateinamen in stream zu konvertieren und die split()
Methode benutzen, um den Dateinamen vom Punkt(.
) zu trennen. Siehe das Beispiel unten.
import java.util.Arrays;
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "folder\s.gr\fg\student-records.pdf";
String fe = "";
if (fileName.contains(".")) {
fe = Arrays.stream(fileName.split("\\.")).reduce((a, b) -> b).orElse(null);
}
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Abrufen der Dateierweiterung einer Datei mit Regex in Java
Dies ist eine weitere Lösung, die das Paket regex
verwendet. Die compile()
und matcher()
Methode der Pattern
Klasse wird verwendet, um die Dateierweiterung in diesem Java-Beispiel zu holen. Siehe das Beispiel unten.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SimpleTesting {
public static void main(String[] args) {
String fileName = "folder\s.gr\fg\student-records.pdf";
String fe = "";
final Pattern PATTERN = Pattern.compile("(.*)\\.(.*)");
Matcher m = PATTERN.matcher(fileName);
if (m.find()) {
fe = m.group(2);
}
System.out.println("File extension is : " + fe);
}
}
Ausgabe:
File extension is : pdf
Verwandter Artikel - Java IO
- Text an eine Textdatei in Java anhängen
- Relativer Pfad in Java
- Konvertieren von Inputstream in Byte-Array in Java
- Konvertieren eines InputStreams in eine Zeichenkette in Java
- Wie man alle Dateien eines Ordners in Java liest