1、
经过试验,不管是否是
Jar
包,不管是否是
Tomcat
部署,以下三个方法均可实现。
public class MyPath {
public static String getProjectPath() {
java.net.URL url = MyPath.class .getProtectionDomain().getCodeSource().getLocation();
String filePath = null ;
try {
filePath = java.net.URLDecoder.decode (url.getPath(), "utf-8");
} catch (Exception e)
{
e.printStackTrace();
}
}
2、
import java.io.*;
public class Test {
public static void main(String[] args) {
File directory = new File(".");
try {
File newPath = new File(directory.getCanonicalPath()+"NewFolder");
newPath.mkdir();//创建文件夹
}catch(Exception exp)
{
exp.printStackTrace();
}
}
}
3、
如果对于类不在包内:利用System.getProperty("user.dir")和this.getClass().getResource("")获取的路径是一样的,
但是对于类在包内的情况就不同了:System.getProperty("user.dir")取得的是包所在的路径,而this.getClass().getResource("")才真正获得的是当前类所在的路径。
System.getProperty("java.class.path")//这个方法可以获取当前运行程序的完整路径,绝对的路径,并且适应操作系统,无需处理,更加high的是,,哪怕你把jar文件弄成了exe文件,,都可以获取哦,相信非常多的人需要.
System.getProperty("usr.dir")//获取当前运行程序的完整目录,配合上面那个使用,相信问题都没了.
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>
System.getProperty("java.version") 1.6.0_10 // Java 运行时环境供应商
System.getProperty("java.vendor") Sun Microsystems Inc. // Java 运行时环境供应商
System.getProperty("java.vendor.url") http://java.sun.com/ // Java 供应商的 URL
System.getProperty("java.home") D:/Java/jdk1.6.0_10/jre // Java 安装目录
System.getProperty("java.vm.specification.version") 1.0 // Java 虚拟机规范版本
System.getProperty("java.vm.specification.vendor") Sun Microsystems Inc. // Java 虚拟机规范供应商
System.getProperty("java.vm.specification.name") Java Virtual Machine Specification // Java 虚拟机规范名称
System.getProperty("java.vm.version") 11.0-b15 // Java 虚拟机实现版本
System.getProperty("java.vm.vendor") Sun Microsystems Inc. // Java 虚拟机实现供应商
System.getProperty("java.vm.name") Java HotSpot(TM) Client VM // Java 虚拟机实现名称
System.getProperty("java.specification.version") 1.6 // Java 运行时环境规范版本
System.getProperty("java.specification.vendor") Sun Microsystems Inc. // Java 运行时环境规范供应商
System.getProperty("java.specification.name") Java Platform API Specification // Java 运行时环境规范名称
System.getProperty("java.class.version") 50.0 // Java 类格式版本号
System.getProperty("java.class.path") .;D:/Java/apache-tomcat-6.0.18/lib/servlet-api.jar;......... // Java 类路径
System.getProperty("java.library.path") D:/Java/jdk1.6.0_10/bin;.;C:/WINDOWS/Sun/................... // 加载库时搜索的路径列表
System.getProperty("java.io.tmpdir") C:/DOCUME~1/HUANG~1.XIA/LOCALS~1/Temp/ // 默认的临时文件路径
System.getProperty("java.compiler") null // 要使用的 JIT 编译器的名称
System.getProperty("java.ext.dirs") D:/Java/jdk1.6.0_10/jre/lib/ext;C:/WINDOWS/Sun/Java/lib/ext // 一个或多个扩展目录的路径
System.getProperty("os.name") Windows XP // 操作系统的名称
System.getProperty("os.arch") x86 // 操作系统的架构
System.getProperty("os.version") 5.1 // 操作系统的版本
System.getProperty("file.separator") / // 文件分隔符(在 UNIX 系统中是“/”)
System.getProperty("path.separator") ; // 路径分隔符(在 UNIX 系统中是“:”)
System.getProperty("line.separator") // 行分隔符(在 UNIX 系统中是“/n”)
System.getProperty("user.name") Huang.XiaoDong // 用户的账户名称
System.getProperty("user.home") C:/Documents and Settings/huang.xiaodong // 用户的主目录
System.getProperty("user.dir") D:/Java/testcode // 用户的当前工作目录