2012-12-19 16 views
6

Hmm basit görev ancak sınıf yolumda olmayan yoldan özellik dosyası nasıl yüklerim? örneğinSınıf yolumda olmayan bir yoldan bir özellik dosyası yükleniyor

: foo.jar d: i böyle yürütmek basit java dosyası var /sample/dir/dir/app1.properties ve kodda i yapın:

public boolean InitConfig(String propePath) { 
     prop = new Properties(); 
     try { 

      InputStream in = this.getClass().getClassLoader().getResourceAsStream(propePath); 
      prop.load(in); 
      return true; 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      return false; 
     } 
    } 

Burada propePath: d: /sample/dir/dir/app1.properties
ve InputStream girişi her zaman sıfırdır. Bu nasıl oluyor?

+1

InputStream in = new FileInputStream (propePath); 'work? – jlordo

+0

Dosya yolunu kullanarak onu yüklemelisiniz. GetResourceAsStream, sınıf yolunda kullanılabilen kaynaklara yöneliktir. – muruga

cevap

16

Classloader.getResourceAsStream tarafından yüklenen yalnızca kaynaklar, sınıf (yükleyici) yolundakilerdir. Özellikleri rasgele bir yoldan okumak için, Properties sınıfının kendisinin load işlevlerinden birini kullanın.

final Properties props = new Properties(); 
props.load(new FileInputStream(filePath)); 
İlgili konular