/*
WebRoot
  --Image  
      --ma.png 我在包下com.name.query下访问ma.png路径
*/
File imgFile = new File("/Image/ma.png");  
//这上面路径怎么不对       

解决方案 »

  1.   

    路径不是这样用的,先用 class.getresources等方法获得当前工程的相对路径,然后再 拼接你这里的 /image/ma.png
      

  2.   

    建议jar中的资源和jar一起打包
    外部的资源就直接在页面上使用相对路径
      

  3.   

    File imgFile = new File("/Image/ma.png");  
    时楼上说的很对,这里的路径得用文件在服务器上的绝对路径。
    取绝对路径的方法网上查查就有了。
      

  4.   

    File imgFile = new File("/Image/ma.png"); 这是从当前盘符下开始。
    去掉/是从当前工程目录下开始找。
      

  5.   

    你可以获得当前工程的相对路径,然后再拼接,如果就是在当前工程里使用File imgFile = new File("Image/ma.png");
      

  6.   


    //就算在工程下也不行!
    File imgFile = new File("Image/ma.png");
    //class.getresources 怎么取当前工程路径!
      

  7.   

    getServlet().getServletContext().getRealPath("/")
    获得当前服务器觉得路径,如:d:/tomcat6/webapps/testdemo
    如果你的ma.png在工程image下那就是
    getServlet().getServletContext().getRealPath("/")
    +"Image/ma.png"
      

  8.   

    如果你要将“/Image/ma.png”放在Web应用上下文的根目录下,就必须通过ServletContext的getResource或getResourceAsStream定位。如:    ServletContext context = ...;
        InputStream is = context.getResourceAsStream("/Image/ma.png");上述代码定位到的文件位置是:
    WebRoot
      Image  
          ma.png如果你要在Java类中使用文件,则必须将“/Image/ma.png”放在类路径下,并通过Class.getResource或Class.getResourceAsStream定位,如:    InputStream is = [YourClass].class.getResourceAsStream("/Image/ma.png");上述代码定位到的文件位置是:
    WebRoot
      WEB-INF
        classes
          Image  
            ma.png关于资源定位问题,请参考我的博文:Java资源的定位方式
    http://blog.csdn.net/darxin/archive/2009/11/07/4782646.aspx
      

  9.   

    你忘了还有个WebRoot了?File imgFile=new File("WebRoot/Image/ma.png");
      

  10.   

    这样是不行的,file取的是文件路径。就像你自己找文件一样,如果给一个/image/a.png这样的路径给你,让你去一台计算机上找,你从何找起类!