今天学习newsgroup文档预处理的java实现时,遇到了getCanonicalpath()函数,之前没接触过,所以查了下资料,整理如下。
getCononicalPath()是获取文档路径的一个函数,与常用的getPath(),getAbsolutePath()有所区别。
1. getPath()得到的文件构造时参数中给出的路径。
例如:
File file = new File(".\\test.txt");
System.out.println(file.getPath());
输出的路径为 .\test.txt。
File file = new File("E:\\workspace\\java\\test.txt");
System.out.println(file.getPath());
输出的路径为 E:\\workspace\\java\\test.txt。
2. getAbsolutePath()返回的是文件的绝地路径。
例如:
File file = new File(".\\test.txt");
System.out.println(file.getAbsolutePath());
输出的路径为 E:\workspace\java\\est.txt。
File file = new File("E:\\workspace\\java\\test.txt");
System.out.println(file.getAbsolutePath());
输出的路径为 E:\workspace\java\test.txt。
3. getCanonicalPath()也是返回文件的绝对路径,但会去除[..]这样的符号,即返回的是标准的绝地路径。
例如:
File file = new File("..\\java\\test.txt");
System.out.println(file.getAbsolutePath());
System.out.println(file.getCanonicalPath());
getAbsolutePath()输出的路径为 E:\workspace\..\java\test.txt。
getCanonicalPath()输出的路径为 E:\workspace\java\test.txt。