首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取图片的绝对路径?

如何获取图片的绝对路径?
EN

Stack Overflow用户
提问于 2010-07-08 23:54:31
回答 2查看 36.4K关注 0票数 1

如何在java中获取图片路径?

我正在使用eclipse,我想在jsp中显示图像,我想给出类似"/images/logo.jpg“的路径,但在执行页面时得到了空指针异常。

如果我给出了fullpath,它的工作原理就像"d:/project/images/logo.jsp".How来显示带有绝对路径的图像?

EN

回答 2

Stack Overflow用户

发布于 2010-07-09 00:15:19

你应该尽量避免在java.io中使用相对路径。任何相对路径都将是相对于当前工作目录的,这取决于启动应用程序的方式,并且无法从代码内部进行控制。例如,当作为Tomcat服务启动时,它将与c:/path/to/tomcat/bin相关。在Eclipse中运行时,它将是相对于c:/path/to/eclipse/project/bin的。在命令控制台中运行时,它将相对于当前打开的文件夹。等等。你不会想要依赖它的。馊主意。

在JSP/Servlet way应用程序中,基本上有两种方法可以可靠地使用相对路径来获取绝对资源路径:

  1. 运行时类路径(所有类和库都在这里)中检索它:

JSP ClassLoader = Thread.currentThread().getContextClassLoader();字符串路径=从webcontent (所有JSP文件和/WEB-INF文件夹所在的位置)中classLoader.getResource("/images/logo.jpg").getPath();

  • Retrieve它:

ServletContext context = getServletContext();//继承自HttpServlet。字符串路径= context.getResource("/images/logo.jpg").getPath();

如果您最终想要的是一个InputStream,您可能打算使用new FileInputStream(path)创建它,那么您应该改用getResourceAsStream()方法:

来自类路径的

classLoader.getResourceAsStream("/images/logo.jpg");

  • Or InputStream content= webcontent内容:

InputStream内容= context.getResourceAsStream("/images/logo.jpg");

票数 4
EN

Stack Overflow用户

发布于 2010-07-09 00:00:51

images/logo.jpg代替/images/logo.jpg,即去掉第一个斜杠。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3205503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档