如果你使用的是eclipse,請檢查編譯是否禁止了非.class文件的編譯輸出,如果這項沒有問題。那麼 src/META-INF/*.* 文件自動輸出到 /WEB-INF/classes/META-INF/*.*。也就是說,最終資源文件在 WEB-INF/classes/META-INF/weibo.xml
使用JAVA 類獲取路徑:
Filef=newFile(getClass().getResource("/META-INF/weibo.xml").getPath());
獲取InputStream:
InputStreaminput=getClass().getResourceAsStream("/META-INF/weibo.xml");
另外,JAVA項目的標准協定(習慣)中的源代碼目錄結構是:
js">src
|--main
||--javaJAVA文件
||--resources資源文件
|--test
|--javaTESTJAVA文件
|--resourcesTEST資源文件
輸出的目錄結構是:
target
|--classesmain/java,main/resource輸出目錄
|--test-classestest/java,test/resources輸出目錄
B. JAVA怎樣獲取當前路徑
java獲取當前路徑的幾種方法
1、利用System.getProperty()函數獲取當前路徑:
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑
2、使用File提供的函數獲取當前路徑:
File directory = new File("");//設定為當前文件夾
try{
System.out.println(directory.getCanonicalPath());//獲取標準的路徑
System.out.println(directory.getAbsolutePath());//獲取絕對路徑
}catch(Exceptin e){}
File.getCanonicalPath()和File.getAbsolutePath()大約只是對於new File(".")和new File("..")兩種路徑有所區別。
# 對於getCanonicalPath()函數,「."就表示當前的文件夾,而」..「則表示當前文件夾的上一級文件夾
# 對於getAbsolutePath()函數,則不管」.」、「..」,返回當前的路徑加上你在new File()時設定的路徑
# 至於getPath()函數,得到的只是你在new File()時設定的路徑
比如當前的路徑為 C:/test :
File directory = new File("abc");
directory.getCanonicalPath(); //得到的是C:/test/abc
directory.getAbsolutePath(); //得到的是C:/test/abc
direcotry.getPath(); //得到的是abc
File directory = new File(".");
directory.getCanonicalPath(); //得到的是C:/test
directory.getAbsolutePath(); //得到的是C:/test/.
direcotry.getPath(); //得到的是.
File directory = new File("..");
directory.getCanonicalPath(); //得到的是C:/
directory.getAbsolutePath(); //得到的是C:/test/..
direcotry.getPath(); //得到的是..
C. 通過java獲取當前項目路徑
getClass().getResource() 方法獲得相對路徑( 此方法在jar包中無效。返回的內容最後包含/)
例如 項目在/D:/workspace/MainStream/Test
在javaProject中,getClass().getResource("/").getFile().toString() 返回:/D:/workspace/MainStream/Test/bin/
publicStringgetCurrentPath(){
//取得根目錄路徑
StringrootPath=getClass().getResource("/").getFile().toString();
//當前目錄路徑
StringcurrentPath1=getClass().getResource(".").getFile().toString();
StringcurrentPath2=getClass().getResource("").getFile().toString();
//當前目錄的上級目錄路徑
StringparentPath=getClass().getResource("../").getFile().toString();
returnrootPath;
}