zoukankan      html  css  js  c++  java
  • JAVA获取文件本身所在的磁盘位置

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

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

    /**
    * 得到类的路径,例如E:\workspace\JavaGUI\bin\com\util
    * @return
    * @throws java.lang.Exception
    */
    public String getClassPath() throws Exception {
    try {
    String strClassName = getClass().getName();
    String strPackageName = "";
    if (getClass().getPackage() != null) {
    strPackageName = getClass().getPackage().getName();
    }
    String strClassFileName = "";
    if (!"".equals(strPackageName)) {
    strClassFileName = strClassName.substring(strPackageName.length() + 1,
    strClassName.length());
    } else {
    strClassFileName = strClassName;
    }
    URL url = null;
    url = getClass().getResource(strClassFileName + ".class");
    String strURL = url.toString();
    strURL = strURL.substring(strURL.indexOf('/') + 1, strURL
    .lastIndexOf('/'));
    //返回当前类的路径,并且处理路径中的空格,因为在路径中出现的空格如果不处理的话,
    //在访问时就会从空格处断开,那么也就取不到完整的信息了,这个问题在web开发中尤其要注意
    return strURL.replaceAll("%20", " ");
    } catch (Exception ex) {
    ex.printStackTrace();
    throw ex;
    }
    }

  • 相关阅读:
    抛弃【 LIMIT O,N 】,换种方法查询分页
    在美国,男 / 女卫生间(厕所)的正确称呼为什么?请用英语写出答案。
    CSS3 选择器
    使用Git将项目上传到github
    Elasticsearch 的 Update更新
    elasticsearch 基本用法
    elasticsearch 基础性操作
    elasticsearch 插入数据
    elasticsearch 安装和部署
    关于httpclient 请求https (如何绕过证书验证)
  • 原文地址:https://www.cnblogs.com/pony/p/1290118.html
Copyright © 2011-2022 走看看