Giriş
ClassLoader'a erişmenin üç yolu var.
1. Thread.currentThread().getContextClassLoader()
Açıklaması şöyle.
Bu çağrı ile sistem ClassLoader nesnesi de kullanılabilir.
3. this.getClass().getClassLoader
Verilen Dosya İsmi
src/main/resource/MyFile.txt dosyasına erişmek için şöyle yaparız.
URL döner. Bir Uri döndürür. Erişilen dosya veya dizinin dosya sistemi üzerinde olması gerekir.
Örnek
Şöyle yaparız.
Örnek
Dosya için şöyle yaparız.
Dizin için şöyle yaparız.
getResourceAsStream metodu
Bir InputStream döndürür. Classpath içindeki bir dosyaya erişmek için yolun "/" ile başlamaması gerekir.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
ClassLoader'a erişmenin üç yolu var.
1. Thread.currentThread().getContextClassLoader()
Açıklaması şöyle.
if you are in a multi-ClassLoader environment (such as unit testing, webapps, etc.) you may need to use Thread.currentThread().getContextClassLoader().2. ClassLoader.getSystemClassLoader()
Bu çağrı ile sistem ClassLoader nesnesi de kullanılabilir.
3. this.getClass().getClassLoader
Verilen Dosya İsmi
src/main/resource/MyFile.txt dosyasına erişmek için şöyle yaparız.
InputStream input = classLoader.getResourceAsStream("MyFile.txt");
getResource metoduURL döner. Bir Uri döndürür. Erişilen dosya veya dizinin dosya sistemi üzerinde olması gerekir.
Örnek
Şöyle yaparız.
URL url = ClassLoader.classr.getResource(resource);
URL'den dosya almak için şöyle yaparız.File file = new File(url.toURI());
Örnek
Dosya için şöyle yaparız.
System.out.println(classLoader
.getResource("foo/Test.class"));
Çıktı olarak şunu alırız.file:/C:/Users/Jon/Test/foo/Test.class
ÖrnekDizin için şöyle yaparız.
ClassLoader classLoader = this.getClass().getClassLoader();
Path configFilePath = Paths.get(classLoader.getResource("config").toURI());
Bir InputStream döndürür. Classpath içindeki bir dosyaya erişmek için yolun "/" ile başlamaması gerekir.
Örnek
Şöyle yaparız.
InputStream input = classLoader.getResourceAsStream("foo.properties");
ÖrnekŞöyle yaparız.
ClassLoader.class.getResourceAsStream("path/file.ext");
ÖrnekŞöyle yaparız.
InputStream is = Thread.currentThread().getContextClassLoader()
.getResourceAsStream("META-INF/maven/a/b/pom.xml");
getSystemResources
Enumeration<URL> döner. Belirtilen isme sahip tüm kaynakların URL'sini döner.
Örnek
Şöyle yaparız.
Örnek ver
Enumeration<URL> döner. Belirtilen isme sahip tüm kaynakların URL'sini döner.
Örnek
Şöyle yaparız.
Enumeration<URL> configs = classLoader.getSystemResources
("META-INF/services/com.foo.bar.MyService");
getSystemResourceAsStream metoduÖrnek ver
Hiç yorum yok:
Yorum Gönder