小例: java代码:都可以成功
下面就会出错
| |
总结: .为当前目录,即工程名所在文件夹
| |
下面的当前路径都是你的工程目录
File file =new File("./xml/a.properties") ;中的./xml/a.properties中的.是指当前路径哪么这句就是当前路径下的xml下的a.properties
File file1 =new File("xml/a.properties") ;中的xml/a.properties也代表了它会在当前路径下找xml然后找xml下的a.properties
File file2 =new File("/xml/a.properties") ;而这个中的/xml/a.properties表示绝对路径。
linux下他表示在xml文件下的a.properties而不是当前文件夹下的!
windows的这个路径表示Class文件所在路径
注意:
1. 当前路径:是你的工程目录即dom4jtest文件夹。
2. 根目录:
在linux下你这样写就是文件系统的xml目录下的a.properties
window里面根目录是指 根目录指逻辑驱动器的最上一级目录,它是相对子目录来说的。打开“我的电脑”,双击C盘就进入C盘的根目录,双击D盘就进入D盘的根目录。其它类推。
根目录你的好好看看参考资料参考资料:http://baike.baidu.com/view/1061154.htm
我们可以多做几次试验,把”Example.class”移动到不同路径下,同时在那些路径下,执行”java Example”命令启动jvm,我们会发现这个”当前用户目录”是不断变化的,它的路径始终和我们在哪启动jvm的路径是一致的.搞清了这些,我们可以使用相对路径来创建文件,例如:
File file = new File(“a.txt”); File.createNewFile();
假设jvm是在”D:\”下启动的,那么a.txt就会生成在D:\a.txt;此外,这个参数还可以使用一些常用的路径表示方法,例如”.”或”.\”代表当前目录,这个目录也就是jvm启动路径.
所以如下代码能得到当前目录完整路径:
File f = new File(“.”);
String absolutePath = f.getAbsolutePath();
System.out.println(absolutePath);//D:\
最后要说说在eclipse中的情况:Eclipse中启动jvm都是在项目根路径上启动的.
比如有个项目名为blog,
其完整路径为:D:\work\IDE\workspace\blog.
那么这个路径就是jvm的启动路径了.所以以上代码如果在eclipse里运行,则输出结果为” D:\work\IDE\workspace\blog.”
Tomcat中的情况.如果在tomcat中运行web应用,此时,如果我们在某个类中使用如下代码:
File f = new File(“.”);
String absolutePath = f.getAbsolutePath();
System.out.println(absolutePath);
那么输出的将是tomcat下的bin目录.我的机器就是” D:\work\server\jakarta-tomcat-5.0.28\bin\.”,
由此可以看出tomcat服务器是在bin目录下启动jvm的.其实是在bin目录下的” catalina.bat”文件中启动jvm的.
http://zhidao.baidu.com/question/294872938.html
标签:xml,java,jvm,路径,绝对路径,相对路径,File,new,properties From: https://blog.51cto.com/nethub/6610667