मेरी फ़ाइल संरचना में निर्देशिका/घर/me/myDir ->/कुछ/अन्य/dir के लिए एक प्रतीकात्मक लिंक है। यह लिंक किसी अन्य प्रक्रिया द्वारा अपडेट किया गया है और मेरी प्रक्रिया को सूचित करता है।जावा में कैननिकल फ़ाइल पथ - अनुकूलन समस्या?
public static String getPath()
{
File file = new File("/home/me/myDir");
if(file.exists())
{
try
{
String canonical = file.getCanonicalPath();
return canonical;
}
catch ...
}
}
समस्या यह है कि के बाद लिंक बदल गया है (यह एक मैं सत्यापित किया है बदल जाता है) है यह बुलाने की 3-5 गुना ले जा रहा है: सूचनाओं के लिए मैं नई विहित पथ प्राप्त करने के लिए प्रयास पिछले पथ को वापस करने से पहले वास्तव में नया पथ प्राप्त करने के लिए getPath() विधि से ऊपर। केवल एक चीज जिसे मैं सोच सकता हूं वह यह है कि जावा इस विधि को अनुकूलित कर रहा है और पुराने पथ को वापस कर सकता है। किसी भी विचार या अंतर्दृष्टि की सराहना की जाती है।
सही! धन्यवाद! – brad12s