Steps to reproduce:
Create a symlink on MS Windows (NTFS file system):
F:\> mkdir link-target
F:\> mklink /D link f:\link-target
symbolic link created for link <<===>> f:\link-target
Run this Java code:
public static void main(String[] args) throws IOException {
File file = new File("f:\\link");
System.out.println(file);
System.out.println(file.getCanonicalFile());
System.out.println(file.getCanonicalFile().getCanonicalFile());
}
The result is:
f:\link
F:\link
F:\link
See also this NetBeans issue: http://netbeans.org/bugzilla/show_bug.cgi?id=222158