我的文件结构中有一个符号链接指向目录 /home/me/myDir -> /some/other/dir。这个链接会被另一个进程更新,然后通知我的进程。在收到通知后,我尝试获取新的规范路径:
public static String getPath()
{
File file = new File("/home/me/myDir");
if(file.exists())
{
try
{
String canonical = file.getCanonicalPath();
return canonical;
}
catch ...
}
问题在于链接更改后(我已经验证它确实更改了),在实际获取新路径之前,需要调用上述getPath()方法3-5次,才能获得新路径,否则将返回先前的路径。我唯一能想到的是Java可能会优化这个方法并返回旧路径。如有任何想法或见解,不胜感激。