Add Difference Between Class.getResource() and ClassLoader.getResource() (#12669)
* Add Difference Between Class.getResource() and ClassLoader.getResource() * Fix - replace System.out with Logger * Fix - move code to a different module
This commit is contained in:
parent
b8a97cbebd
commit
f8ea63de51
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
Baeldung
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue