diff --git a/core-java-modules/core-java-jvm-2/src/main/java/com/baeldung/resource/ClassGetResourceExample.java b/core-java-modules/core-java-jvm-2/src/main/java/com/baeldung/resource/ClassGetResourceExample.java new file mode 100644 index 0000000000..d843be1c43 --- /dev/null +++ b/core-java-modules/core-java-jvm-2/src/main/java/com/baeldung/resource/ClassGetResourceExample.java @@ -0,0 +1,19 @@ +package com.baeldung.resource; + +import java.net.URL; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ClassGetResourceExample { + + private static Logger logger = LoggerFactory.getLogger(ClassGetResourceExample.class); + + public static void main(String[] args) { + URL resourceAbsolutePath = ClassGetResourceExample.class.getResource("/com/baeldung/resource/example.txt"); + logger.info("Resource with absolute path = {}", resourceAbsolutePath); + + URL resourceRelativePath = ClassGetResourceExample.class.getResource("example.txt"); + logger.info("Resource with relative path = {}", resourceRelativePath); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-jvm-2/src/main/java/com/baeldung/resource/ClassLoaderGetResourceExample.java b/core-java-modules/core-java-jvm-2/src/main/java/com/baeldung/resource/ClassLoaderGetResourceExample.java new file mode 100644 index 0000000000..e6ad06bd05 --- /dev/null +++ b/core-java-modules/core-java-jvm-2/src/main/java/com/baeldung/resource/ClassLoaderGetResourceExample.java @@ -0,0 +1,21 @@ +package com.baeldung.resource; + +import java.net.URL; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ClassLoaderGetResourceExample { + + private static Logger logger = LoggerFactory.getLogger(ClassLoaderGetResourceExample.class); + + public static void main(String[] args) { + URL resourceAbsolutePath = ClassLoaderGetResourceExample.class.getClassLoader() + .getResource("com/baeldung/resource/example.txt"); + logger.info("Resource with absolute path = {}", resourceAbsolutePath); + + URL resourceRelativePath = ClassLoaderGetResourceExample.class.getClassLoader() + .getResource("example.txt"); + logger.info("Resource with relative path = {}", resourceRelativePath); + } +} diff --git a/core-java-modules/core-java-jvm-2/src/main/resources/com/baeldung/resource/example.txt b/core-java-modules/core-java-jvm-2/src/main/resources/com/baeldung/resource/example.txt new file mode 100644 index 0000000000..61641e23e2 --- /dev/null +++ b/core-java-modules/core-java-jvm-2/src/main/resources/com/baeldung/resource/example.txt @@ -0,0 +1 @@ +Baeldung \ No newline at end of file diff --git a/core-java-modules/core-java-jvm-2/src/test/java/com/baeldung/resource/ClassGetResourceUnitTest.java b/core-java-modules/core-java-jvm-2/src/test/java/com/baeldung/resource/ClassGetResourceUnitTest.java new file mode 100644 index 0000000000..fb0c88f4bb --- /dev/null +++ b/core-java-modules/core-java-jvm-2/src/test/java/com/baeldung/resource/ClassGetResourceUnitTest.java @@ -0,0 +1,21 @@ +package com.baeldung.resource; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.net.URL; + +class ClassGetResourceUnitTest { + + @Test + void givenRelativeResourcePath_whenGetResource_thenReturnResource() { + URL resourceRelativePath = ClassGetResourceExample.class.getResource("example.txt"); + Assertions.assertNotNull(resourceRelativePath); + } + + @Test + void givenAbsoluteResourcePath_whenGetResource_thenReturnResource() { + URL resourceAbsolutePath = ClassGetResourceExample.class.getResource("/com/baeldung/resource/example.txt"); + Assertions.assertNotNull(resourceAbsolutePath); + } +} diff --git a/core-java-modules/core-java-jvm-2/src/test/java/com/baeldung/resource/ClassLoaderGetResourceUnitTest.java b/core-java-modules/core-java-jvm-2/src/test/java/com/baeldung/resource/ClassLoaderGetResourceUnitTest.java new file mode 100644 index 0000000000..54025c5404 --- /dev/null +++ b/core-java-modules/core-java-jvm-2/src/test/java/com/baeldung/resource/ClassLoaderGetResourceUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.resource; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.net.URL; + +class ClassLoaderGetResourceUnitTest { + + @Test + void givenRelativeResourcePath_whenGetResource_thenReturnNull() { + URL resourceRelativePath = ClassLoaderGetResourceExample.class.getClassLoader() + .getResource("example.txt"); + Assertions.assertNull(resourceRelativePath); + } + + @Test + void givenAbsoluteResourcePath_whenGetResource_thenReturnResource() { + URL resourceAbsolutePath = ClassLoaderGetResourceExample.class.getClassLoader() + .getResource("com/baeldung/resource/example.txt"); + Assertions.assertNotNull(resourceAbsolutePath); + } +}