ورود

View Full Version : سوال در مورد متد های getAbsolutePath و getCanonicalPath



Sina.iRoid
دوشنبه 01 دی 1393, 00:06 صبح
سلام دوستان.
ممنون میشم اگر در این زمینه من و راهنمایی کنید.

من درست متوجه فرق متد های getAbsolutePath و getCanonicalPath نمیشم. مثال زیر و نگاه کنید:


import java.io.File;
public class PathTesting {
public static void main(String [] args) {
File f = new File("test/.././file.txt");
System.out.println(f.getPath());
System.out.println(f.getAbsolutePath());
try {
System.out.println(f.getCanonicalPath());
}
catch(Exception e) {}
}
}


و خروجی برنامه هم به این صورت هست:


test\..\.\file.txt
C:\projects\sandbox\trunk\test\..\.\file.txt
C:\projects\sandbox\trunk\file.txt


چرا در CanonicalPath مسیر فایل عوض شده. اگر دقت داشته باشید دیگه از test چیزی نوشته نشده. من این و متوجه نمیشم.

ممنون میشم اگر راهنماییم کنید

ویرایش: یه سوال دیگه اینکه اگر تعداد نقطه ها یک باشه، CanonicalPath تغییری نمی کنه و وقتی که بیش از یک باشه برنامه کرش می کنه. یعنی فقط باید دو تا نقطه باشه. میشه در مورد این نقطه ها هم توضیح بدین. ممنون میشم.