Comment obtenir l'extension de fichier d'un fichier en Java
-
Obtenir l’extension de fichier en utilisant la méthode
getExtension()
en Java -
Obtenir l’extension d’un fichier avec la méthode
lastIndexOf()
en Java - Obtenir l’extension d’un fichier avec l’analyse des chaînes de caractères en Java
-
Obtenir l’extension de fichier d’un fichier en utilisant la méthode
replaceAll()
en Java -
Obtenir l’extension de fichier d’un fichier en utilisant la méthode
contains()
etlastIndexOf()
en Java - Obtenir l’extension de fichier d’un fichier en utilisant des opérateurs ternaires en Java
-
Obtenir l’extension de fichier d’un fichier en utilisant la méthode
stream()
en Java - Obtenir l’extension de fichier d’un fichier utilisant Regex en Java
Ce tutoriel explique comment obtenir l’extension de fichier d’un fichier en Java et donne également quelques exemples de codes pour comprendre le sujet.
Obtenir l’extension de fichier en utilisant la méthode getExtension()
en Java
Pour obtenir une extension d’un fichier, nous pouvons utiliser la méthode getExtension()
de la classe FilenameUtils
. Cette méthode retourne l’extension du fichier. Comme cette méthode appartient à la bibliothèque commune Apache
, vous devez télécharger la bibliothèque depuis le site officiel d’Apache pour utiliser les JAR dans votre projet.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension d’un fichier avec la méthode lastIndexOf()
en Java
Si vous ne voulez pas utiliser de méthode intégrée, utilisez l’exemple de code donné qui utilise la méthode lastIndexOf()
pour obtenir l’extension du fichier. C’est le moyen le plus simple et le plus facile qui n’implique que des méthodes de type chaîne de caractères. Voir l’exemple ci-dessous.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension d’un fichier avec l’analyse des chaînes de caractères en Java
C’est une autre solution qui comprend plusieurs scénarios dont celui (si point(.
) se trouve dans le chemin du fichier). Cette méthode retourne le résultat exact même si le chemin de fichier comporte un point (.
) entre les deux. Voir l’exemple ci-dessous.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension de fichier d’un fichier en utilisant la méthode replaceAll()
en Java
Nous pouvons utiliser la méthode replaceAll()
pour obtenir l’extension de fichier comme nous l’avons fait dans l’exemple ci-dessous. Nous utilisons des expressions régulières dans cette méthode et nous collectons le résultat dans une variable.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension de fichier d’un fichier en utilisant la méthode contains()
et lastIndexOf()
en Java
La méthode contains()
est utilisée pour vérifier si le caractère spécifié est présent dans la chaîne ou non et la méthode lastIndexOf()
retourne une valeur d’index du caractère spécifié qui est passée à la méthode substring()
pour obtenir l’extension du fichier. Nous utilisons ces méthodes dans ce code pour obtenir l’extension du fichier. Voir l’exemple ci-dessous.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension de fichier d’un fichier en utilisant des opérateurs ternaires en Java
Si vous êtes à l’aise avec les opérateurs ternaires(?, :
) alors utilisez-le avec la méthode substring()
et lastIndexOf()
. Elle réduit la ligne de code et retourne le résultat en une seule instruction.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension de fichier d’un fichier en utilisant la méthode stream()
en Java
Nous pouvons utiliser la méthode stream()
de la classe Arrays
pour convertir le nom du fichier en stream et utiliser la méthode split()
pour séparer le nom du fichier du point(.
). Voir l’exemple ci-dessous.
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);
}
}
Production:
File extension is : pdf
Obtenir l’extension de fichier d’un fichier utilisant Regex en Java
C’est une autre solution qui utilise le paquet regex
. La méthode compile()
et matcher()
de la classe Pattern
est utilisée pour récupérer l’extension du fichier dans cet exemple Java. Voir l’exemple ci-dessous.
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);
}
}
Production:
File extension is : pdf
Article connexe - Java IO
- Ajouter du texte à un fichier texte en Java
- Chemin relatif en Java
- Convertir Inputstream en Byte Array en Java
- Convertir un InputStream en une chaîne de caractères en Java
- Comment lire tous les fichiers d'un dossier en Java