关于eclipse项目中的路径问题
在workspace中的路径如下;
test -----------------项目名
——src -----------------源文件路径
——liujun.test -----------------包名
——test.java -----------------类名
——tp.properties -----------------文件名
*注:workspace在d:盘目录下
如:
Test.java:
File file= new File(filename);
filename="tp.properties" //这样在运行中肯定找不到路径,因为当前的相对路径是相对如项目(test)的
filename="/tp.properties" //在前面加上"/"的话,那就表示相对工作文档
那么该如何找到路径呢?
如果过filename="tp.properties"的话那么其代表的绝对路径就是:d:\workdapce\test\tp.properties,如此那么其其结果肯定是找不到路径
正确的写法;
filename="src/liujun/testtp.properties" 或者filename="/workdapce/test/src/liujun/testtp.properties" 当然前者的写法最好(原因很明显)
在这里要说明一下,在整个项目搭建编译后,其目录结构是有所区别的,编译后的class文件会放在其他木星下,当然src中非java文件也会复制过去
下面是J2SE和J2EE的目录结构,而最终运行的是class文件所以你的路径是要有所区别的
如果是J2SE项目,那么在编译后的的结构目录如下:
test -----------------项目名
——src -----------------源文件路径
——liujun.test -----------------包名
——test.java -----------------类名
——tp.properties -----------------文件名
——bin -----------------源文件路径
——liujun
——test -
——test.java -----------------类名
——tp.properties -----------------文件名
—— …… ----------------其他文件目录
……
……
如果是J2EE项目,那么在编译后的的结构目录如下:
test -----------------项目名
——src -----------------源文件路径
——liujun.test -----------------包名
——test.java -----------------类名
——tp.properties -----------------文件名
——webapps -----------------源文件路径
——WEB-INF
——classes
——liujun
——test -----------------
——test.java -----------------类名
——tp.properties -----------------文件名
—— …… ----------------其他文件目录
……
……
*注
以上的目录可能每个人都有所不同这要看你的项目下的.classpath文件里的配置的编译后文件的路径如:
我的J2EE项目中配置是:
<classpathentry kind="output" path="webapps/WEB-INF/classes"/>
我的J2SE项目中配置是:
<classpathentry kind="output" path="bin"/>
这个时候你的filename 的路径及就应该
J2EE 时:
filename="webapps/WEB-INF/classes/liujun/testtp.properties"
*仔细可能看的出来,其实前面一段就是取决于你的.classpath配置(path="webapps/WEB-INF/classes")
J2SE 时:
filename="bin/liujun/testtp.properties"
附:java类中获取路径的方法
Class clazz = this.getClass(); //获得当前类
URLClassLoader loader = (URLClassLoader)clazz.getClassLoader(); //获得类的加载器
URI u2= null;
try {
URI uri=loader.getResource( "").toURI(); //获得当前类的根路径如:C:\Program Files\apache-tomcat-6.0.18\webapps\onsafeasiangames\WEB-INF\classes
u2=uri.resolve( "../../"); //获得当前路径的上两级目录(tomcat时就是项目的目录)
} catch (URISyntaxException e) {
e.printStackTrace();
}
分享到:
相关推荐
java 最短路径 问题 动态规划java 最短路径 问题 动态规划
JAVA解决URL路径中含有中文的问题。无论是路径中还是文件名包含中文都可以处理。经测试验证通过。
java中相对路径与绝对路径问题
NULL 博文链接:https://snailzhang-126-com.iteye.com/blog/512442
java文件路径获取方法应用总结,非常好
Java路径问题最终解决方案之一Java路径问题最终解决方案之一
java、servlet、jsp、class等等中如何获得所在的路径
java project和java web project项目中如何获得相对路径、绝对路径问题详解
java Web 中相对路径绝对路径问题总结
java配置路径程序java配置路径程序java配置路径程序java配置路径程序java配置路径程序java配置路径程序
Java路径问题,解决Java安装及使用问题的入门级指导
java项目相对路径与绝对路径问题分析
java_web开发中的路径问题
Java路径问题最终解决方案之一 Java路径问题最终解决方案之一
java中 tomcat服务器的根路径、jsp的根路径、类路径如何获取一直困扰着很多编程人员,看了它也许你会清晰很多。
本文是一篇Java相对路径绝对路径全面总结的word文档。
我总结了一些java开发中遇到的相对路径和绝对路径的问题,比如在servelt jsp页面中装载配置文件的默认路径
Java文件路径详解
车辆路径问题 (VRP),Java 上的遗传算法解决方案_java_代码_下载