java中路径的问题

关于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="/tp.properties"的话那么其代表的绝对路径是:d:\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();
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值