Wie Sie die Dateierweiterung einer Datei in Java erhalten

Mohammad Irfan 12 Oktober 2023
  1. Abrufen der Dateierweiterung mit der Methode getExtension() in Java
  2. Ermitteln der Dateierweiterung einer Datei mit der lastIndexOf() Methode in Java
  3. Abrufen der Dateierweiterung einer Datei mit String-Parsing in Java
  4. Abrufen der Dateierweiterung einer Datei mit der Methode replaceAll() in Java
  5. Abrufen der Dateierweiterung einer Datei mit der contains() und lastIndexOf() Methode in Java
  6. Abrufen der Dateierweiterung einer Datei mit ternären Operatoren in Java
  7. Abrufen der Dateierweiterung einer Datei mit der stream() Methode in Java
  8. Abrufen der Dateierweiterung einer Datei mit Regex in Java
Wie Sie die Dateierweiterung einer Datei in Java erhalten

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

Verwandter Artikel - Java File