失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > JAVA获取文件本身所在的磁盘位置

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

时间:2020-03-04 02:19:39

相关推荐

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;

}

}

如果觉得《JAVA获取文件本身所在的磁盘位置》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。