public GetResource{

  String path = GetResource.class.getClassLoader().getResource("xx/xx.txt").getPath();

}

----------扩展

一 相对路径的获得
   说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
  

String relativelyPath=System.getProperty("user.dir");

   上述相对路径中,java项目中的文件是相对于项目的根目录
   web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录/bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
   1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
  
   InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");

   (test.txt文件的路径为 项目名/src/test.txt;类TestAction所在包的第一级目录位于src目录下)
  
   上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可
   1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头)
   InputStream is=Test1.class.getResourceAsStream("/test.txt");
   (test.txt文件的路径为 项目名/src/test.txt,类Test1所在包的第一级目录位于src目录下)
  
三 web项目根目录的获得(发布之后)
   1 从servlet出发
   可建立一个servlet在其的init方法中写入如下语句

   ServletContext s1=this.getServletContext();
   String temp=s1.getRealPath("/"); (关键)

   结果形如:D:/工具/Tomcat-6.0/webapps/002_ext/ (002_ext为项目名字)
   如果是调用了s1.getRealPath("")则输出D:/工具/Tomcat-6.0/webapps/002_ext(少了一个"/")
   2 从httpServletRequest出发

   String cp11111=request.getSession().getServletContext().getRealPath("/");

   结果形如:D:/工具/Tomcat-6.0/webapps/002_ext/
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
   方法一

Thread.currentThread().getContextClassLoader().getResource("").getPath();

eg:
   String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
   System.out.println("t---"+t);
   输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
  
   方法二

JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)

   eg:

String p1=JdomParse.class.getClassLoader().getResource("").getPath();
   System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);

   输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/
  另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)
   eg String p2=JdomParse.class.getResource("").getPath();
   System.out.println("JdomParse.class.getResource---"+p2);
   输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录 下 jdom包中的类)

java web项目中 获取resource路径下的文件路径的更多相关文章

  1. java web 项目中获取当前路径的几种方法

    1.jsp中取得路径:   以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:req ...

  2. WEB编程中获取src目录下的文件(没有src目录)

    这种情况遇见的会比较多,像一个WEB工程,如果在src下面写了一个xml或者一些其它的文件,当工程发布到服务器时,web程序是在tomcat等服务器下运行这个程序的,这个时候,程序目录里面并没有src ...

  3. Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件

    //生成一个文件对象: File file = new File(getClass().getClassLoader().getResource("test.xml").getPa ...

  4. JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

  5. 对Java Web项目中路径的理解

    第一个:文件分隔符 坑比Window.window分隔符 用\;unix采用/.于是用File.separator来跨平台 请注意:这是文件路径.在File f = new File(“c:\\hah ...

  6. linux 下用renameTo方法修改java web项目中文件夹名称问题

    经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服 ...

  7. Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  8. java web 项目中 简单定时器实现 Timer

    java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报  分类: JAVA(24)  版权声明:本文为博 ...

  9. Java Web项目中缺少Java EE 6 Libraries怎么添加

    Java Web项目中缺少Java EE 6 Libraries怎么添加 具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build P ...

随机推荐

  1. GZFramwork数据库层《四》单据主从表增删改查

    同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 本系列项目源码下载地址:https://github.com/GarsonZhang/G ...

  2. [HIHO1062] 最近公共祖先·一(lca, 并查集, 二分, 神trick)

    题目链接:http://hihocoder.com/problemset/problem/1062 题意裸,有个trick,导致我当年做的时候一直在WA... 那就是出现这种没有出现在关系中,但是依然 ...

  3. Message Queue vs. Web Services?

    From stackoverflow.com When you use a web service you have a client and a server: If the server fail ...

  4. Monkey测试的策略和分析

    Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一apk和apk集合 测试的目的分为:解 ...

  5. 无法获取有关Windows NT 组\用户‘组\用户’的信息,错误代码0x5(Microsoft SQL Server,错误:15404)

    配置了复制,在删除某个发布的时候,突然报此错误,无法删除此发布:   使用语句修改:  ALTER AUTHORIZATION ON DATABASE:: [数据库名] TO [sa] 即修改数据库的 ...

  6. C#MongoDB使用实践

    9.5更新:更方便的启动命令 1)在D:\MongoDB中新建mongo.config文件,内容为 #启动mongod:mongod.exe --bind_ip 127.0.0.1 --logpath ...

  7. shopex最新版前台一处想不到的SQL注入漏洞

    shopex代码核心的地方都做了加密处理,找漏洞就需要一点想象空间了,比如这个SQL注入… 存在于用户注册(想不到的位置吧?)   /core/shop/controller/ctl.passport ...

  8. Mac 搭建 SVN 服务器环境

    Mac 搭建 SVN 服务器环境 一.创建svn repository svnadmin create /path/svn/pro //仓库位置,svn是svn的目录,pro是一个版本库的目录 PS: ...

  9. vue服务端渲染

    这篇文章写得还蛮好https://segmentfault.com/a/1190000006701796 从官方网站下载了例子看,用es6写的,还好之前看过es6不然都看不懂,正好es6的东西一起熟悉 ...

  10. Spring 7大功能模块的作用[转]

    核心容器(Spring core) 核心容器提供Spring框架的基本功能.Spring以bean的方式组织和管理Java应用中的各个组件及其关系.Spring使用BeanFactory来产生和管理B ...