比如我在工程A中要导入一批图片,这些图片在工程A的image文件夹中,例如原来路径为D:\java\A\image,假如我把这个工程拷贝到其他电脑上,导入工程时不需要修改image的路径,只根据其相对路径来导入,即只需要定位\image就行了。

解决方案 »

  1.   

    这样写public final static String FS = System.getProperty("file.separator");
    public final static String image_path = "image" + FS;然后图片放在image包下面   image包跟src包 放在同一层具体来说project/src/com/wudeaaa.java
    project/image/image1.png
      

  2.   


    你要是用相对路径必须把 image 文件夹创建在工程目录下的某个位置才行。
      

  3.   

    Thread.currentThread().getContextClassLoader().getResource("").getPath()
    可以得到class文件所在的根目录
    比如你的工程中的class文件存放在D:\java\A\classes文件夹下面,那么上面这个代码将返回D:\java\A\classes
      

  4.   

    String path=ServletActionContext.getServletContext().getRealPath("/fileDir");
    path=path+fileName;
      

  5.   

    这个只能在servlet或者jsp里面用吧,如果是一般的java代码就没戏了,呵呵
      

  6.   

    "file.separator"是固定的还是需要指定image前面的路径?
      

  7.   

    我的意思是假如原来image目录的路径为D:\java\myproject\image,我把这个工程拷贝到其他电脑上假如这时工程路径为F:\WorkSpace\myproject,那么还得在代码中修改image目录路径。我希望导入工程时不需要修改image的路径,只根据其相对路径来导入,即只需要定位到\image就行了。
      

  8.   

    测试了,应该是这样 public final static String FS = System.getProperty("user.dir");
    public final static String image_path =  FS + "/image/" ;  其中image目录在project的根目录下,即:
             project/src/com/wudeaaa.java 
            project/image/image1.png