2013-08-26 95 views
2
public String getQuery(String nameFile, Package pathFile) 
{ 
    // How to get on InputStrem nameFile and pathFile 
} 

文件我沒能撐過類加載器獲取從給定的類路徑

String path = getClass().getPackage().getName().replace('.', File.pathSeparatorChar); 
String file = path + "file.txt"; 
InputStream in = this.getClass().getClassLoader().getResourceAsStream(file); 

在回報= NULL

回答

1

pathSeparatorChar:在Unix和;在Windows上。它與在所有平臺上用於從ClassLoader(即/)加載資源的char無關。

此外,您忘記了路徑和文件名之間的分隔符。它應該是

String path = getClass().getPackage().getName().replace('.', '/'); 
String file = path + "/file.txt"; 
InputStream in = this.getClass().getClassLoader().getResourceAsStream(file); 

或者,更簡單,因爲Class具有可以從相同的封裝加載資源直接作爲類的方法:

InputStream in = this.getClass().getResourceAsStream("file.txt"); 
+0

的InputStream在= this.getClass()的getResourceAsStream( 「file.txt的」);是作品。我需要擺脫另一個包裹。 –

+1

我在評論時添加了完全相同的建議:-) –

+0

謝謝,您的回答很有幫助 –