代码改变世界

java文件路径问题及Eclipse package,source folder,folder区别及相互转换

2012-04-22 18:23  youxin  阅读(3014)  评论(0编辑  收藏  举报

   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了。