1. 程式人生 > >java檔案路徑問題及Eclipse package,source folder,folder區別及相互轉換

java檔案路徑問題及Eclipse package,source folder,folder區別及相互轉換

eclipse下,建立一個source folder(我建立的是folder,),名稱為resource,呼叫時 為

  "resource/bg.gif" ; //注意resource前面沒有 /" 有/則錯誤

eclipse的相對路徑起始位置位於當前包的根目錄,system.getproperty("user.dir");可以打印出根目錄。

 

另一種方法:在 src包下建立一個folder,名為res;呼叫方法如下:

"src/res/bg.gif"

在eclipse下,package,source folder,folder都是資料夾

它們的區別如下:  
package:當你在建立一個package時,它自動建立到source folder下,也只能建立在這個目錄之下.  (這個很重要,比如在pydev 建立一個python

時,你只能在source folder型別的資料夾下建,不能再其他如folder型別下建)

source folder:存放java原始碼的資料夾,當然也包括一些package資料夾,還可以包含其他檔案.  

專案構建後,source folder裡面的java自動編譯成class檔案到相應的/web-inf/classes資料夾中,其他檔案也會移到/web-inf/classes相應的目錄下.

package和sourcefolder比較 相同之外:package下除了java檔案也可以包含其他檔案,而且編譯、打包後的檔案路徑與source folder下的檔案路徑有一樣規則 不同之外:1.sourcefolder靠"/"來進行上下級劃分,package靠“.”來進行上下級劃分。   2.source folder下能建package,而package下不能建source folder   3.java檔案中的package屬性是按package路徑來進行賦值的,source folder路徑不參與java檔案的package屬性賦值,再由 第二條不同得到結論,所有source folder下的java檔案package屬性都為空。

folder: 裡面可以放入任何檔案.包括java原始檔,jar檔案,其他檔案(例如,圖片,聲音等).在此我說明一下,如果裡面含有java原始檔,不管程式是否正確,eclipse都不會報錯,把它們當做普通檔案處理.但是專案如果要使用這裡面的檔案,情況就不同了. 

package,source folder,folder 之間相互轉換 
package 轉成 folder 顯示:選中package, build path-> exclude 
folder 轉成 package 顯示:選中folder, build path-> include 

package 轉成 source folder 顯示:選中package, build path-> use as source folder 
source folder 轉成 package 顯示:選中folder, build path-> remove from buildpath 

pacage 與 source folder 的轉換同上

我的問題解決是將本來想讓他程式設計package的folder,右鍵單擊,buildpath,include。然後這個folder就程式設計package了。