2015-11-05 8 views
6

में सिंगल कोट उद्धरण देता है जब मैं src/main/संसाधनों में SQL फ़ाइल का पुनर्वितरण प्राप्त करने का प्रयास कर रहा हूं।क्लासलोडर का getResource() पथ

मैं इस के साथ मेरी फाइल पाने में कामयाब रहे है

String sqlFileName = "query.sql"; 
URL url = MyClass.class.getClassLoader().getResource(sqlFileName); 

लेकिन अगर वहाँ अशक्त रिटर्न इस

String sqlFileName = "John's query.sql"; 
URL url = MyClass.class.getClassLoader().getResource(sqlFileName); 

getResource तरह sqlFileName में एक भी बोली है, क्योंकि यह मेरी संसाधन नहीं मिल सकता है जब एक apostrophe है। मैंने अपने एकल उद्धरण जैसे \ 'और' 'से बचने के लिए कई तरीकों की कोशिश की और इनमें से कोई भी काम नहीं किया। \\ के साथ 'यह भागने

C:\Projects\ProjectA\src\main\resources\queries\John's query.sql 
+0

सिंगल कोट '\' ' – rajuGT

+0

से बचने का प्रयास करें क्या आप वास्तविक संसाधन को दिखाने के लिए अपना प्रश्न संपादित कर सकते हैं जिसे आप ढूंढ रहे हैं? – Kenster

+0

गंभीरता से, एसक्यूएल फ़ाइल नाम में एक एस्ट्रोफ़े के साथ परेशान क्यों करें। क्या आपको सचमुच इसकी जरूरत है? –

उत्तर

0

आप की कोशिश की:

मैं getResource के साथ एक यूआरएल इस के समान प्राप्त करने की उम्मीद कर रहा हूँ?

एक के साथ, आप स्ट्रिंग के लिए बच निकले हैं, लेकिन यूआरएल पार्सर को पास नहीं किया गया है। आप खुद से बचना चाहते हैं, ताकि दोनों 'और \ दोनों पार्सर को पास कर सकें।

0

आपको फ़ाइल नाम एन्कोडिंग कोशिश कर सकते हैं,

URLEncoder.encode ("french'filename.txt", "UTF-8"));

यह वापस आ जाएगा: फ्रेंच% 27filename.txt यदि आपको आवश्यकता हो तो आप एक अलग एन्कोडिंग चुन सकते हैं।

संबंधित मुद्दे