تفاوت بین absolute path , canonical path در جاوا چیست.آیا این تفاوت را خودمان با استفاده از 2 عدد کاراکتر نقطه ایجاد میکنیم و jvm فقط چند مسیر رو حذف میکنه؟ کاربرد این 2 با هم چه تفاوتی داره؟ چرا متد getcanonicalpath یک ioexception پرتاب میکنه و درحالی که متد getabsoulutepath هم کارمشابهی را انجام میدهد اکسپشن پرتاب نمیکنه؟ چه خطاهایی باعث این اکسپشن در getcanonical خواهد شد؟