diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml
index 59952c2d9e..53762d7547 100644
--- a/core-java-modules/core-java-io/pom.xml
+++ b/core-java-modules/core-java-io/pom.xml
@@ -43,6 +43,17 @@
${angus-activation.version}
test
+
+ org.jodd
+ jodd-util
+ 6.2.1
+
+
+ com.j256.simplemagic
+ simplemagic
+ 1.17
+
+
diff --git a/core-java-modules/core-java-io/src/test/java/com/baeldung/extension/ExtensionFromMimeTypeUnitTest.java b/core-java-modules/core-java-io/src/test/java/com/baeldung/extension/ExtensionFromMimeTypeUnitTest.java
new file mode 100644
index 0000000000..0a22e2defb
--- /dev/null
+++ b/core-java-modules/core-java-io/src/test/java/com/baeldung/extension/ExtensionFromMimeTypeUnitTest.java
@@ -0,0 +1,47 @@
+package com.baeldung.extension;
+
+import static org.junit.Assert.assertEquals;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.tika.mime.MimeType;
+import org.apache.tika.mime.MimeTypeException;
+import org.apache.tika.mime.MimeTypes;
+import org.junit.Test;
+
+import com.j256.simplemagic.ContentInfo;
+
+public class ExtensionFromMimeTypeUnitTest {
+ public static final String PNG_EXT = "image/png";
+ @Test
+ public void whenUsingTika_thenGetFileExtension() throws MimeTypeException {
+ MimeTypes allTypes = MimeTypes.getDefaultMimeTypes();
+ MimeType type = allTypes.forName(PNG_EXT);
+ String extension = type.getExtension();
+ assertEquals(".png", extension);
+ }
+
+ @Test
+ public void whenUsingJodd_thenGetFileExtension() {
+ String fileExtension = jodd.net.MimeTypes.findExtensionsByMimeTypes(PNG_EXT,false)[0];
+ assertEquals("png", fileExtension);
+ }
+
+ @Test
+ public void whenUsingMimetypesFileTypeMap_thenGetFileExtension() {
+ ContentInfo contentInfo = new ContentInfo("", PNG_EXT, "", true);
+ String[] fileExtensions = contentInfo.getFileExtensions();
+ assertEquals("png", fileExtensions[0]);
+ }
+
+ @Test
+ public void whenUsingCustomLogic_thenGetFileExtension() {
+ Map mimeToExtensionMap = new HashMap<>();
+ mimeToExtensionMap.put("application/pdf", "pdf");
+ mimeToExtensionMap.put("image/jpeg", "jpg");
+ mimeToExtensionMap.put("image/png", "png");
+ String fileExtension = mimeToExtensionMap.get(PNG_EXT);
+ if (fileExtension!= null)
+ assertEquals("png", fileExtension);
+ }
+}