文档章节

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

小叮当_加V
 小叮当_加V
发布于 2015/10/19 16:26
字数 417
阅读 9
收藏 0
点赞 0
评论 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
博文 90
码字总数 18055
作品 0
东城

暂无相关文章

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

阿里云云栖社区 ⋅ 今天 ⋅ 0

zabbix短信报警统计以及报表展示

一、需求 由于我们的业务报警比较频繁,之前是针对每个报警进行具体处理,但是有时还会重复出现,或者后续处理有时忘记跟进等,因此进行报警短信的统计,可以针对一些问题与业务跟进,明确后...

o翡翠谷o ⋅ 今天 ⋅ 0

JNI 输出LOG

1、导入log头文件。在你使用的 .c/ .cpp 文件中,导入 log.h 头文件。 #include<android/log.h> 2、在android.mk 加上 LOCAL_LDLIBS := -llog 或 LOCAL_SHARED_LIBRARIES := liblog 3、定义L......

国仔饼 ⋅ 今天 ⋅ 0

主线程pthread_exit 作用

#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;#define NUM_THREADS 10void* say_hello(void* args){ int i = *((int*)args);/......

xxdd ⋅ 今天 ⋅ 0

崛起于Springboot2.X之Mybatis-xml方式操作mysql数据库(3)

序言:当第一篇讲道Mybatis的时候,只要使用过mybatis的java程序员100%都会知道这种方式,因为这是最广泛最全面的编写sql操作mysql数据库的方式,高级sql的编写往往通过xml方式,接下来进入正...

木九天 ⋅ 今天 ⋅ 1

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

猫耳m ⋅ 今天 ⋅ 0

spring elasticsearch 2.4 date 日期

1.mappingPUT user_behavior { "mappings": { "user_behavior": { "properties": { "date": { "type": "createDate", ......

xiaomin0322 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部