From 4c333aeeb35d1e5c6bf89cdfb8f2a43c89895d6d Mon Sep 17 00:00:00 2001 From: Rajat Garg Date: Wed, 23 May 2018 13:44:17 +0530 Subject: [PATCH] BAEL-1734 add different methods to find file extension (#4122) * BAEL-1734 add different methods to find file extension * fix camel case formatting for variables * fix variable name Remove camel casing for variable name as it is a single word. --- .../com/baeldung/extension/Extension.java | 23 +++++++++++++++ .../com/baeldung/extension/ExtensionTest.java | 29 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 core-java/src/main/java/com/baeldung/extension/Extension.java create mode 100644 core-java/src/test/java/com/baeldung/extension/ExtensionTest.java 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); + } +}