JAVA获取文件本身所在的磁盘位置
2008-09-12 17:42
288 查看
我们在做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;
}
}
以下程序,就实现了这个功能
/**
* 得到类的路径,例如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中读xml文件,获取文件本身所在的磁盘位置
- JAVA获取文件本身所在的磁盘位置
- java获取用户公网ip及所在所在位置
- 获取项目所在磁盘位置
- java获取类文件所在目录
- 获取文件的详细属性,大小,修改日期,所在位置等
- JAVA中获取当前文件所在的路径【中文可以识别】
- java 查看运行时某个类文件所在jar的位置
- 使用批处理+WMI获取指定文件或目录所在的物理磁盘信息
- 获取java文件所在的路径
- Android获取当前所在位置的WiFi热点,并保存到本地文件中
- 获取当前方法名,行号,类名,所在java文件第几行
- 获取swf文件所在位置的url
- java 获取class文件所在路径
- java文件下载以及服务器文件存储位置获取和存储位置
- Android Studio使用技巧之快速定位代码文件所在的电脑磁盘文件夹位置
- web项目中jsp编译后的java文件所在位置
- Java 工程中获取文件位置 getResource()
- ClassLoader Java 获取当前类文件所在的路径(未测试)
- Tomcat将JSP转换为Servlet.java和编译.class文件的所在位置