文档章节

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
粉丝 4
博文 98
码字总数 19908
作品 0
东城

暂无文章

(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
2
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
13
3
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部