java读取文件路径问题

在java中获得文件的路径在我们做上传文件操作时是不可避免的。web 上运行 1:this.getClass().getClassLoader().getResource("/").getPath();this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的绝对URI路径。如:/D:/jboss-4.2.2.GA/server/default/deploy...
java读取文件路径问题
如果你使用的是eclipse,请检查编译是否禁止了非.class文件的编译输出,如果这项没有问题。那么 src/META-INF/*.* 文件自动输出到 /WEB-INF/classes/META-INF/*.*。也就是说,最终资源文件在 WEB-INF/classes/META-INF/weibo.xml
使用JAVA 类获取路径:
File f = new File(getClass().getResource("/META-INF/weibo.xml").getPath());获取InputStream:
InputStream input = getClass().getResourceAsStream("/META-INF/weibo.xml");另外,JAVA项目的标准协定(习惯)中的源代码目录结构是:
src |-- main | |-- java JAVA文件 | |-- resources 资源文件 |-- test |-- java TEST JAVA文件 |-- resources TEST 资源文件输出的目录结构是:
target |-- classes main/java, main/resource 输出目录 |-- test-classes test/java, test/resources 输出目录2014-07-28
在java中获得文件的路径在我们做上传文件操作时是不可避免的。

web 上运行
1:
this.getClass().getClassLoader().getResource("/").getPath();
this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
System.getProperty("user.dir");
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 项目的绝对路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

2:
this.getClass().getResource("/").getPath();
this.getClass().getResource("").getPath(); 得到的是当前类 文件的URI目录。不包括自己!
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/
this.getClass().getResource(".").getPath(); X 不 能运行

3:
Thread.currentThread().getContextClassLoader().getResource("/").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 项目的绝对路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

在本地运行中
1:
this.getClass().getClassLoader().getResource("").getPath();
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的绝对URI路径。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
this.getClass().getClassLoader().getResource(".").getPath(); X 不 能运行
2:
this.getClass().getResource("").getPath();
this.getClass().getResource(".").getPath(); 得到的是当前类 文件的URI目录。不包括自己!
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/
/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的绝对URI路径。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

3:
Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能运行

最后
在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。
还有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。2015-08-12
使用getResource这个method时,将资源文件放在 classpath下,默认的就是对应工程的
apache-tomcat-6.0.35\webapps\我的工程名\WEB-INF\classes2014-07-28
mengvlog 阅读 7 次 更新于 2025-07-20 00:22:18 我来答关注问题0
  • 在Java中,可以通过System.getProperty来获取当前文件的路径。以下是关于如何获取当前文件路径的详细说明:使用System.getProperty:说明:System.getProperty返回的是Java应用程序的启动目录,也就是当前工作目录的路径。示例代码:javaString currentPath = System.getProperty;System.out.println; 注意事项:这个方...

  • 获取当前工程src目录下selected.txt文件的路径;第四种方法为:System.out.println(System.getProperty("user.dir"));执行结果为:C:\Documents and Settings\Administrator\workspace\projectName 获取当前工程路径;第五种方法为:System.out.println(System.getProperty("java.class.path"));执行结果为:C:...

  •  文暄生活科普 JavaWeb项目如何获取文件路径?

    一、利用Servlet获取文件路径 1、获取项目的绝对路径 通过`getServletContext().getRealPath("/")`实现,得到的是项目的绝对路径。2、获取浏览器地址 通过`request.getRequestURL()`获取当前请求的URL。3、获取当前文件的绝对路径 通过`new File(request.getServletContext().getRealPath("/"))`创建文件...

  •  安徽新华电脑专修学院 Java读取配置文件的几种方法以及路径问题

    2.类加载器读取:只能读取classes或者类路径中的任意资源,但是不适合读取特别大的资源。①获取类加载器 ClassLoader cl = 类名.class.getClassLoader();②调用类加载器对象的方法:public InputStream getResourceAsStream(String name);返回读取指定资源的输入流。资源的搜索路径是虚拟机的内置类加载器的...

  •  翡希信息咨询 java怎么获取resources下的文件路径

    在Java中,获取resources目录下的文件路径,通常需要使用类加载器。以下是获取resources下文件路径的具体方法:使用ClassLoader获取资源文件路径:通过类加载器的getResource方法,可以获取到资源文件的URL。这种方法适用于位于类路径下的资源文件。具体实现步骤:获取当前类的类加载器。使用类加载器的getResource...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部