जिस एप्लिकेशन पर मैं काम कर रहा हूं जिसमें नेटवर्क फ़ाइल शेयरों पर फ़ाइलों तक पहुंच शामिल है, और हम फाइलों के स्थानों को निर्दिष्ट करने के लिए यूआरआई का उपयोग कर रहे हैं।फ़ाइल: यूआरआई और स्लेश
फ़ाइल की मेरी समझ: यूआरआई यह है कि उन्हें file://
+ पथ का रूप लेना चाहिए। विंडोज नेटवर्क शेयर के मामले में, यह पथ \\servername\dir\file
जैसा दिखता है, इसलिए परिणामी यूआरआई file:////servername/dir/file
बन जाता है।
यह जावा के URI class के लिए बहुत अच्छा काम कर रहा है, लेकिन Win32 एपीआई file://servername/dir/file
शैली यूआरआई चाहता है, जिसे जावा अस्वीकार करता है क्योंकि यह "एक प्राधिकरण घटक है"।
क्या मैं नेटवर्क-शेयर यूआरआई को सही ढंग से समझ रहा हूं? जावा के बिना अधिकार के बारे में शिकायत किए बिना पथ निर्दिष्ट करने का कोई और तरीका है?
संपादित करें: हम यूआरआई के रूप में पथों को स्टोर करने में सक्षम होने की उम्मीद कर रहे थे, ताकि अन्य स्थानों को निर्दिष्ट करने के लिए यूआरआई के स्कीम-भाग का उपयोग किया जा सके (उदा। फ़ाइल: अन्य बनाम :)। लेकिन जैसे-जैसे ने कहा, ऐसा लगता है कि जावा सिर्फ यूआरआई के साथ अपने स्वयं के मुद्दों हो सकता है ...
आपकी त्वरित प्रतिक्रिया के लिए धन्यवाद। दूसरा लिंक विशेष रूप से सहायक था। हालांकि यह मुझे समझ में आया कि पूरा पथ यूआरआई के 'पथ' खंड में संग्रहीत किया जाएगा, मैं देख सकता हूं कि जावा कुछ हद तक असंगत रूप से करता है, इसलिए मैं इसके लिए देखना सुनिश्चित कर दूंगा। – Sammy1Am
वास्तव में जहां तक मुझे पता है, फ़ाइल यूआरएल योजना को डबल स्लैश की भी आवश्यकता नहीं है, लेकिन केवल एक ही स्लैश है। जंगली में दोनों अक्सर देखा जाता है। – hippietrail
https://tools.ietf.org/html/rfc3986#section-3 "जब प्राधिकरण मौजूद नहीं होता है, तो पथ दो स्लैश वर्णों से शुरू नहीं हो सकता है" –