您的位置:首页 > 编程语言 > Java开发

java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别

2018-01-02 16:04 417 查看
今天看一个例子,里面用到File类的getCanonicalPath()方法,忽然忘记这个方法返回的是什么样的路径了,跟getPath()和getAbsolutePath()有什么区别?带着这两个问题查了下文档,得到的结论如下:getPath():返回的是定义时的路径,可能是相对路径,也可能是绝对路径,这个取决于定义时用的是相对路径还是绝对路径。如果定义时用的是绝对路径,那么使用getPath()返回的结果跟用getAbsolutePath()返回的结果一样getAbsolutePath():返回的是定义时的路径对应的相对路径,但不会处理“.”和“..”的情况getCanonicalPath():返回的是规范化的绝对路径,相当于将getAbsolutePath()中的“.”和“..”解析成对应的正确的路径举例如下:File file = new File(".\\test.txt"); 
System.out.println(file.getPath()); 
System.out.println(file.getAbsolutePath()); 
System.out.println(file.getCanonicalPath()); 
返回的结果为:.\test.txt 
E:\workspace\Test\.\test.txt 
E:\workspace\Test\test.txt 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: