मैं विंडोज 64 बिट पर ओरेकल जावा 7 का उपयोग कर रहा हूं।"फ़ाइल सिम्लिंक" के बजाय विंडोज़ पर "निर्देशिका सिम्लिंक" बनाने के लिए जावा 7 को कैसे मजबूर करें?
जब मैं एक सिमलिंक Files.createSymbolicLink का उपयोग कर बनाने के लिए, मैं इस व्यवहार को नोटिस:
- लक्ष्य एक निर्देशिका, एक "निर्देशिका सिमलिंक" बनाई गई है है।
- यदि लक्ष्य एक फ़ाइल है, तो "फ़ाइल सिम्लिंक" बनाया गया है।
- यदि लक्ष्य मौजूद नहीं है, तो "फ़ाइल सिम्लिंक" बनाया गया है।
The type of the symlink is fixed and never changes, इसके लक्ष्य में किए गए किसी भी बदलाव के बावजूद।
विंडोज के मूल mklink
कमांड का उपयोग करके, लिंक प्रकार को "निर्देशिका सिम्लिंक" के रूप में बल देना संभव है। क्या मूल जावा एपीआई या कुछ लाइब्रेरी का उपयोग करके इसे हासिल करना संभव है?
एक तुच्छ और बदसूरत तरीका है: लक्ष्य एक निर्देशिका है
- हैं, तो बस, लिंक
- यदि लक्ष्य मौजूद नहीं है बनाने के लिए एक नया खाली लक्ष्य निर्देशिका बनाने, लिंक बनाने, और निर्देशिका हटा दें।
- यदि लक्ष्य एक फ़ाइल है ... इसे संभाल लें (इसे ले जाएं, # 2 लागू करें, इसे वापस ले जाएं)।
भाग्यशाली।
असल में कोई बड़ी ज़रूरत नहीं है, मैंने अपने व्यवहार में एक बग के माध्यम से इस व्यवहार की खोज की जिसने सिम्लिंक के लक्ष्य को नहीं बनाया। – ripper234