getResourceAsStream()
;getResourceAsStream (dosya) dosyayı nerede bulur?
Benim paket yapısı aşağıdaki gibidir:
\src
|__ net.floodlightcontroller // invoked getResourceAsStream() here
|__ ...
|__ resources
|__ floodlightdefault.properties //target
|__ ...
Ve floodlightdefault.properties okumak istiyorum. İşte benim kod net.floodlightcontroller
pakette yatan geçerli:
package net.floodlightcontroller.core.module;
// ...
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("floodlightdefault.properties");
Ama is == null
alma başarısız oldu. getResourceAsStream(file)
file
için tam olarak nasıl olduğunu merak ediyorum. Yani belirli PATH
s veya siparişi aracılığıyla çalışıyor mu?
Eğer öyleyse, getResourceAsStream()
yerlerinin nasıl yapılandırılacağı nasıl görünüyor?
Thx!
Kaynaklar dizinini eklediniz mi? kodunuzu çalıştırırken bir classpath içinde? Genel olarak, getResourceAsStream davranışı ClassLoader uygulamasına bağlıdır. –
Genel olarak konuşursak, bunun ne anlama geldiğine de bağlı olacaktır. – Radiodef
Sıfır sorununuzu düzeltmek için başlangıçta gördüğüm iki şey var. İlk olarak, sadece dizini '' resources/floodlightdefault.properties ''olarak değiştirmeniz gerekiyor. İkincisi, yöntem, derleme dizininizin içindeki kaynağı arıyor olabilir ve gösterdiğiniz dizin yapısı, IDE projesinin kaynak klasörü gibi görünüyor. Tabii ki, projeye kaynak eklediyseniz, IDE dosyaları otomatik olarak derleme dizinine kopyalamalıdır. Netbeans ile yapılan hızlı bir testte, kaynak dosyalarım sadece _both_ build ve src klasöründen kaldırılırsa null olur. – Radiodef