EN
Java - get file extension
6 points
In this article, we would like to show you how to get a file extension in Java.
Practical example:
xxxxxxxxxx
1
import java.io.*;
2
3
public class Program {
4
5
public static void main(String[] args) {
6
7
// Common:
8
9
System.out.println(PathUtils.getExtension("image.png")); // png
10
System.out.println(PathUtils.getExtension("audio.mp3")); // mp3
11
System.out.println(PathUtils.getExtension("document.pdf")); // pdf
12
13
System.out.println(PathUtils.getExtension(".")); //
14
System.out.println(PathUtils.getExtension("..")); //
15
16
System.out.println(PathUtils.getExtension(".htaccess")); //
17
System.out.println(PathUtils.getExtension(".tar.gz")); // gz
18
System.out.println(PathUtils.getExtension("makefile")); //
19
20
// Unix/Linux/macOS:
21
22
System.out.println(PathUtils.getExtension("/path/.htaccess")); //
23
System.out.println(PathUtils.getExtension("/path/.tar.gz")); // gz
24
System.out.println(PathUtils.getExtension("/path/makefile")); //
25
System.out.println(PathUtils.getExtension("/path/example.pdf")); // pdf
26
27
// Windows:
28
29
System.out.println(PathUtils.getExtension("C:\\path\\.htaccess")); //
30
System.out.println(PathUtils.getExtension("C:\\path\\.tar.gz")); // gz
31
System.out.println(PathUtils.getExtension("C:\\path\\makefile")); //
32
System.out.println(PathUtils.getExtension("C:\\path\\example.pdf")); // pdf
33
34
// Also:
35
36
System.out.println(PathUtils.getExtension("C:.htaccess")); //
37
System.out.println(PathUtils.getExtension("C:.tar.gz")); // gz
38
System.out.println(PathUtils.getExtension("C:makefile")); //
39
System.out.println(PathUtils.getExtension("C:example.pdf")); // pdf
40
}
41
}
Output:
xxxxxxxxxx
1
png
2
mp3
3
pdf
4
5
6
7
gz
8
9
10
gz
11
12
pdf
13
14
gz
15
16
pdf
17
18
gz
19
20
pdf
PathUtils.java
file:
xxxxxxxxxx
1
public final class PathUtils {
2
3
public static String getExtension(String path) {
4
int length = path.length();
5
for (int i = length - 1; i > -1; --i) {
6
char value = path.charAt(i);
7
if (value == '.') {
8
if (i > 1) {
9
value = path.charAt(i - 1);
10
if (value == '/' || value == '\\' || value == ':') {
11
return "";
12
}
13
return path.substring(i + 1);
14
}
15
return "";
16
}
17
if (value == '/' || value == '\\' || value == ':') {
18
return "";
19
}
20
}
21
return "";
22
}
23
}