2011-03-29 50 views

回答

7

要麼使用

getClass().getResourceAsStream("/file.txt") 

getClass().getClassLoader().getResourceAsStream("file.txt") 

ClassLoader.getResourceAsStream始終以一個 「絕對」 資源名稱。)

我不相信航行了 「目錄層次結構」 的作品在getResourceAsStream - 路徑必須是相對於給定的類,但不導航備份樹,或它必須是絕對開始。

+0

是的,這工作.. thnx – harshit 2011-03-29 17:39:08

5

嘗試的絕對路徑:

getClass().getResourceAsStream("/file.txt") 

getResourceAsStream的Javadoc說:

  • 如果名字以 '/'( '\ u002f'),則絕對名稱的資源是「/」後面的名稱部分。
  • 否則,絕對名稱是以下形式的:

    modified_package_name/name 
    

    凡modified_pa​​ckage_name是該對象以「/」取代的包名「」 ( '\ u002e')。

這將會把你的路徑進入這個絕對路徑:

/com/../file.txt 

我不認爲..記號尊重。它從字面上尋找上述絕對路徑。

相關問題