JAVA获取文件本身所在的磁盘位置

    我们在做java开发(纯java程序,或者java web开发)时,经常会遇到需要读取配置文件的需求,如果我们将文件所在位置的信息直接写到程序中,例如:E:/workspace/JavaGUI/bin/com/util这个目录,这样虽然可行,但是,却产生了很大的局限性,因为读取的文件必须要要满足在E:/workspace/JavaGUI/bin/com/util之下才能够被正常读取,否则java抛异常。那如果在没有E盘盘符的服务器上,这样的程序是没办法执行的。所以就需要我们的程序能够读取当前文件的所在位置,从而确定文件的物理磁盘位置,而不是手动写入这个位置。

        以下程序,就实现了这个功能

  1.     /**
  2.      * 得到类的路径,例如E:/workspace/JavaGUI/bin/com/util
  3.      * @return
  4.      * @throws java.lang.Exception
  5.      */
  6.     public String getClassPath() throws Exception {
  7.         try {
  8.             String strClassName = getClass().getName();
  9.             String strPackageName = "";
  10.             if (getClass().getPackage() != null) {
  11.                 strPackageName = getClass().getPackage().getName();
  12.             }
  13.             String strClassFileName = "";
  14.             if (!"".equals(strPackageName)) {
  15.                 strClassFileName = strClassName.substring(strPackageName.length() + 1,
  16.                         strClassName.length());
  17.             } else {
  18.                 strClassFileName = strClassName;
  19.             }
  20.             URL url = null;
  21.             url = getClass().getResource(strClassFileName + ".class");
  22.             String strURL = url.toString();
  23.             strURL = strURL.substring(strURL.indexOf('/') + 1, strURL
  24.                     .lastIndexOf('/'));
  25.             //返回当前类的路径,并且处理路径中的空格,因为在路径中出现的空格如果不处理的话,
  26.             //在访问时就会从空格处断开,那么也就取不到完整的信息了,这个问题在web开发中尤其要注意
  27.             return strURL.replaceAll("%20"" ");
  28.         } catch (Exception ex) {
  29.             ex.printStackTrace();
  30.             throw ex;
  31.         }
  32.     }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值