1、利用System.getProperty()函数获取当前路径:
System.out.println(System.getProperty(“user.dir”));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File(“”);//设定为当前文件夹
try{
System.out.println(directory.getCanonicalPath());//获取标准的路径
System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){}
File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(“.”)和new File(“..”)两种路径有所区别。
# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹
# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径
# 至于getPath()函数,得到的只是你在new File()时设定的路径
代码:
System.out.println("路径测试");
System.out.println("当前路径" + System.getProperty("user.dir"));
File directory = new File("");
System.out.println(directory.getCanonicalPath());// 得到的是D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
System.out.println(directory.getAbsolutePath()); // 得到的是C:/test/.
System.out.println(directory.getPath());// 得到的是.
directory = new File(".");
System.out.println(directory.getCanonicalPath());// 得到的是D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
System.out.println(directory.getAbsolutePath()); // 得到的是C:/test/.
System.out.println(directory.getPath());// 得到的是.
directory = new File("..");
System.out.println(directory.getCanonicalPath());// 得到的是C:/
System.out.println(directory.getAbsolutePath());// 得到的是C:/test/..
System.out.println(directory.getPath());
输出结果:
D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
路径测试
当前路径D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
D:\Dev\WorkStation\EclipseWorkStation\SerialDemo
D:\Dev\WorkStation\EclipseWorkStation\SerialDemo\.
.
D:\Dev\WorkStation\EclipseWorkStation
D:\Dev\WorkStation\EclipseWorkStation\SerialDemo\..