文档章节

JAVA文件中获取路径及WEB应用程序获取路径方法

小叮当_加V
 小叮当_加V
发布于 2015/10/19 16:26
字数 417
阅读 9
收藏 0

在J2SE中,或者不发布的webapp下测试:

File file=new File("./text.xml")  发现读取src下面的text.xml文件

但是当我们把webapp发不到tomcat下面,你会发现他找不到路径了,他会到tomcat bin文件下面去找。

其实webapp发布的时候,会把源文件的class放到WEB-INF/classses下面,会把工程中WEB-INF下面的东西放到发布的WEB-INF下面,如jsp,lib等等。

所以程序要读取配置文件,比如我偶们把配置文件放到conf下面,发现发布后,WEB-INF/classses没有这个配置文件,原因是这个conf文件只是普通文件夹,必须要和src一样是源文件夹才行。所以配置文件有三种放的方法:

1 直接放到src下面

2  建立源的文件夹,如conf,放到下面,其实最后编译都会放到WEB-INF/classses下面,这样放只是为了和普通的src区分

3 放到工程WEB-INF目录下面

比如我在src下面放了一个mapping.xml,读取他这样;比如这段带吗在Test类里面

String path=Test.class.getClassLoader().getResource("mapping.xml").getPath();

File file=new File(path);

这样就搞定了。

这是别人的代码:

package   org.cheng.file; 
import   java.io.File; 
public   class   FileTest{ 
     public   static   void   main(String[]args) throws   Exception{ 
         System.out.println(Thread.currentThread().getContextClassLoader().getResource( "" )); 
         System.out.println(FileTest. class .getClassLoader().getResource( "" )); 
         System.out.println(ClassLoader.getSystemResource( "" )); 
         System.out.println(FileTest. class .getResource( "" )); 
         System.out.println(FileTest. class .getResource( "/" )); //Class文件所在路径 
         System.out.println(newFile( "/" ).getAbsolutePath()); 
         System.out.println(System.getProperty( "user.dir" )); 
    

}

参考博客,这两个很有用,感谢他们:

http://my.oschina.net/xianggao/blog/85172#OSC_h4_8

http://www.bubuko.com/infodetail-776607.html



© 著作权归作者所有

共有 人打赏支持
小叮当_加V
粉丝 5
博文 98
码字总数 19908
作品 0
东城

暂无文章

Apache Bench学习笔记

使用apache bench测试并发请求 ab -H "X-IMATRIX-ACCESS-TOKEN:1234567" -c 1000 -n 1000 http://localhost:8080/portfolioes/1/performance...

OSC_fly
30分钟前
3
0
Oracle推出轻量级Java微服务框架Helidon

近日,Oracle 推出 了一个新的开源框架 Helidon ,该项目是一个用于创建基于微服务的应用程序的Java库集合。和 Payara Micro 、 Thorntail (之前的 WildFly Swarm )、 OpenLiberty 、TomEE...

小刀爱编程
31分钟前
5
0
mysql 按周统计

方法一 : 使用 DATE_FORMAT 格式化时间,格式化参数参考 -- 参考地址 SELECTDATE_FORMAT( create_time, '%Y%u' ) weeks,DATE_FORMAT( date_sub( create_time, INTERVAL WEEKDAY( cre...

小鸟00
35分钟前
3
0
深入理解JAVA锁的机制

1. synchronized实现原理 在java代码中使用synchronized可是使用在代码块和方法中,根据Synchronized用的位置可以有这些使用场景: 如图,synchronized可以用在方法上也可以使用在代码块中,...

laigous
36分钟前
2
0
Mysql几种索引类型的区别及适用情况

如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。 那么,这几种索引有什么功能和性能上的不同呢? FULLTEXT 即为全文索引,目前只有MyISAM引擎支持。其可以...

ZhangLG
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部