JAVA文件中获取路径及WEB应用程序获取路径方法
2015-10-19 00:00
417 查看
摘要: 在j2EE和J2se下面,文件的路径读取方法是不相同的,详见请看正文。在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
相关文章推荐
- java反射调用私有方法和修改私有属性
- Java中的的XML文件读写与DOM
- Java实验报告(实验三)
- Java XML解析技术
- java实验报告(实验三)
- java was started but returned exit code = -80306369
- java设计模式系列--职责链模式
- Eclipse的一些简单设置
- spring mvc 500错误
- JAVA I/O 系统
- Java内部类不能引用本地变量?
- eclipse添加第三方源码
- JAVA 集合框架
- Spring环境
- Dubbo+spring+springmvc+mybatis+Maven+Jetty+Mysql+Ajax多框架融合学习网址收藏
- MyEclipse就会报 Errors running builder 'DeploymentBuilder' on project '工程名' xxx
- Java集合框架
- java内存区域各部分内容及内存溢出介绍
- [转]Java中继承、多态、重载和重写介绍
- Java