diff --git a/core-java/src/main/java/com/baeldung/extension/Extension.java b/core-java/src/main/java/com/baeldung/extension/Extension.java new file mode 100644 index 0000000000..4045af8b30 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/extension/Extension.java @@ -0,0 +1,23 @@ +package com.baeldung.extension; + +import com.google.common.io.Files; +import org.apache.commons.io.FilenameUtils; + +public class Extension { + //Instead of file name we can also specify full path of a file eg. /baeldung/com/demo/abc.java + public String getExtensionByApacheCommonLib(String filename) { + return FilenameUtils.getExtension(filename); + } + + public String getExtensionByStringHandling(String filename) { + String fileExtension = ""; + if (filename.contains(".") && filename.lastIndexOf(".") != 0) { + fileExtension = filename.substring(filename.lastIndexOf(".") + 1); + } + return fileExtension; + } + + public String getExtensionByGuava(String filename) { + return Files.getFileExtension(filename); + } +} diff --git a/core-java/src/test/java/com/baeldung/extension/ExtensionTest.java b/core-java/src/test/java/com/baeldung/extension/ExtensionTest.java new file mode 100644 index 0000000000..97e9436b90 --- /dev/null +++ b/core-java/src/test/java/com/baeldung/extension/ExtensionTest.java @@ -0,0 +1,29 @@ +package com.baeldung.extension; + +import org.junit.Assert; +import org.junit.Test; + +public class ExtensionTest { + private Extension extension = new Extension(); + + @Test + public void getExtension_whenApacheCommonIO_thenExtensionIsTrue() { + String expectedExtension = "txt"; + String actualExtension = extension.getExtensionByApacheCommonLib("jarvis.txt"); + Assert.assertEquals(expectedExtension, actualExtension); + } + + @Test + public void getExtension_whenStringHandle_thenExtensionIsTrue() { + String expectedExtension = "java"; + String actualExtension = extension.getExtensionByStringHandling("Demo.java"); + Assert.assertEquals(expectedExtension, actualExtension); + } + + @Test + public void getExtension_whenGuava_thenExtensionIsTrue() { + String expectedExtension = "class"; + String actualExtension = extension.getExtensionByGuava("baeldung/Demo.class"); + Assert.assertEquals(expectedExtension, actualExtension); + } +}