我们在做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;
}
}

转载于:https://www.cnblogs.com/pony/archive/2008/09/12/1290118.html

JAVA获取文件本身所在的磁盘位置相关推荐

  1. java 服务器所在盘符_JAVA获取文件本身所在的磁盘位置 | 学步园

    我们在做java开发(纯java程序,或者java web开发)时,经常会遇到需要读取配置文件的需求,如果我们将文件所在位置的信息直接写到程序中,例如:E:\workspace\JavaGUI\bin ...

  2. Java 查看文件绝对路径,JAVA获取文件绝对路径的方法

    本文实例讲述了JAVA获取文件绝对路径的方法.分享给大家供大家参考.具体实现方法如下: /** * 获取一个类的class文件所在的绝对路径. 这个类可以是JDK自身的类,也可以是用户自定义的类,或者 ...

  3. Java获取文件路径

    Java获取文件路径 1.获取当前文件所在的包名 2.获取工程文件夹所在的绝对路径 3.获取当前class文件所在的绝对路径 1.获取当前文件所在的包名 类名.class.getPackage().g ...

  4. java获取用户的所在省份、城市的接口

    java获取用户的所在省份.城市的接口代码分享 解决方法: 1.以下是调用第三方接口获取用户地理位置信息的代码: private static void getlocation() { URL url ...

  5. 用Java获取文件的MD5校验和

    我正在寻找使用Java获取文件的MD5校验和. 我真的很惊讶,但是我找不到任何能显示如何获取文件的MD5校验和的东西. 怎么做? #1楼 Guava现在提供了一个新的,一致的哈希API,它比JDK中提 ...

  6. 如何获取服务器上文件的hashcode,java获取文件hashcode

    java获取文件hashcode [2021-02-05 18:36:57]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  7. oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...

    LINUX下ORACLE软件.数据文件等所在的磁盘分区空间不足的解决思路 虚拟机中的ORACLE运行的久了,归档.数据文件不断增长,原来安装ORACLE的分区空间不足. 此时可以重新向虚拟机增加一块硬 ...

  8. java 获取文件扩展名_如何在Java中获取文件扩展名

    java 获取文件扩展名 Sometimes while working with files, we need to process them differently based on their ...

  9. java获取文件编码

    目录 1. 概述 2. 编码基本知识 2.1. iso8859-1 2.2. GB2312/GBK 2.3. unicode 2.4. UTF 3.JAVA中移位运算>> , <&l ...

  10. java获取文件列表,[javaSE] java获取文件列表

    递归测试 import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis ...

最新文章

  1. python教程txt免费下载-python编程从入门到实践PDF电子书教程免费下载
  2. 如何用 Nacos 构建服务网格生态
  3. 深拷贝拯救指针重复释放(浅拷贝)造成的内存泄漏
  4. VS2010 不能将参数 2 从“char [20]”转换为“LPCWSTR”的错误解决
  5. sql 视图嵌套视图_SQL视图
  6. python--修改默认递归层级
  7. centos 4.4配置使用
  8. kali rpm 安装方法_解决kali linux中无法使用RPM命令
  9. DTCC2019数据风云,十年变迁 第十届中国数据库技术大会隆重启动
  10. HTML5期末大作业:中华美德网站设计——中华美德(6页) HTML+CSS+JavaScript web大作业 静态网页
  11. 最优DP转LVDS解决方案|低成本DP to LVDS转换设计|CS5211方案优势
  12. 《少有人走的路:心智成熟的旅程》
  13. How to install VIB on VMware ESXi
  14. 微软牵手大疆打造先进无人机技术
  15. 数据结构——栈和队列
  16. 《网络安全》课程教案
  17. 【Linux】内存屏障
  18. 常用计算机制图软件,常用的电脑画图软件有什么?
  19. 机器学习基础---pr曲线的绘制
  20. 智能投顾奇葩发展术:越靠“爹”,越有机会

热门文章

  1. mac硬盘空间怎么清理?这样也能清理出上10G的磁盘空间
  2. Mac 入门教程:如何更改你的 Mac 设备名称
  3. Ubuntu 20.04部署minikube配置不上阿里云的minikube镜像
  4. Eclipse中 Clean 的时候总是警告 org.apache.catalina.webresources.Cache backgroundProcess
  5. Qt5 QtQuick系列----QtQuick的Secne Graph剖析(1)
  6. 测试员:你知道未来移动测试的方向是什么样的吗?
  7. [实变函数]2.2 聚点 (cluster point), 内点 (interior point), 界点 (boundary point)
  8. 怎么建立socket长连接???
  9. MYSQL初学者命令行使用指南
  10. 谨防病毒利用气象软件锁定浏览器主页