दिलचस्प पोस्ट
Google Chrome में जावास्क्रिप्ट कंसोल साफ़ करें एक्सेल: अविश्वसनीय सिकुड़ने और विस्तार नियंत्रण JAVA_HOME पर्यावरण चर के अस्तित्व का कारण क्या है? वेबब्राउजर नियंत्रण में एक कुकी सेट करना आप कैसे एक तस्वीर jquery के साथ अपने माउस सूचक का पालन करें? वर्तमान पद्धति का नाम async फ़ंक्शन से प्राप्त करें? विजुअल स्टूडियो 2012 के साथ विन एक्सपी के लिए कैसे संकलित करें? छवि उदाहरण के साथ SpannableString मॉडल बनाते समय कई चर के लिए लघु सूत्र कॉल jquery.mobile 1.4.5 अनचाहे प्रकार त्रुटि: अपरिभाषित की संपत्ति 'concat' पढ़ नहीं सकते सरल सोप उदाहरण मोंगो डीबी: एक से कई संग्रहों से डेटा एकत्र करें..कैसे? पायथन में एक सूची की शुरुआत करने के लिए सभी शून्य ले जाएं मोनसोड्स बनाम कोको: फ्रेम और सीमा के बीच अंतर क्या है?

Java प्रोजेक्ट में रिश्तेदार पथ से फ़ाइल कैसे पढ़ा जाए? java.io.File निर्दिष्ट पथ नहीं ढूँढ सकता

मेरे पास 2 पैकेज के साथ एक परियोजना है:

  1. tkorg.idrs.core.searchengines
  2. tkorg.idrs.core.searchengines

पैकेज में (2) मेरे पास एक टेक्स्ट फाइल है ListStopWords.txt , पैकेज में (1) मेरे पास क्लास ListStopWords.txt I FileLoader में कोड है:

 File file = new File("properties\\files\\ListStopWords.txt"); 

लेकिन यह त्रुटि है:

 The system cannot find the path specified 

क्या आप इसे ठीक करने के लिए एक समाधान दे सकते हैं? धन्यवाद।

Solutions Collecting From Web of "Java प्रोजेक्ट में रिश्तेदार पथ से फ़ाइल कैसे पढ़ा जाए? java.io.File निर्दिष्ट पथ नहीं ढूँढ सकता"

यदि यह पहले से ही कक्षापथ में है, तो बस इसे क्लासपाथ से प्राप्त करें। java.io.File में सापेक्ष रास्ते के साथ बेला न करें वे वर्तमान कार्य निर्देशिका पर निर्भर हैं, जिस पर आपके पास जावा कोड के अंदर से पूरी तरह से कोई नियंत्रण नहीं है।

यह मानते हुए कि ListStopWords.txt FileLoader वर्ग के समान पैकेज में है:

 URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath()); 

या यदि आप इसके बाद के किसी भी InputStream हैं तो:

 InputStream input = getClass().getResourceAsStream("ListStopWords.txt"); 

यदि फ़ाइल है- पैकेज नाम का संकेत- वास्तव में एक "पूर्ण एक्सटेंशन" फ़ाइल है ( key=value पंक्तियाँ) जिसमें सिर्फ "गलत" विस्तार होता है, तो आप इसे तुरंत load() विधि में खिला सकते हैं।

 Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("ListStopWords.txt")); 

नोट: जब आप इसे static संदर्भ के अंदर से एक्सेस करने का प्रयास कर रहे हैं, तो ऊपर दिए गए उदाहरणों में getClass() बजाय FileLoader.class उपयोग करें।

निम्नलिखित पंक्ति का उपयोग किया जा सकता है, अगर हम फ़ाइल के रिश्तेदार पथ को निर्दिष्ट करना चाहते हैं।

 File file = new File("./properties/files/ListStopWords.txt"); 

रिश्तेदार पथ जावा का उपयोग करके इसमें काम करता है। ऑपरेटर।

  • । वर्तमान चल रहे संदर्भ के रूप में एक ही फ़ोल्डर का अर्थ है
  • .. वर्तमान में चल रहे संदर्भ के मूल फ़ोल्डर का अर्थ है।

तो सवाल यह है कि आप जिस मार्ग पर जावा वर्तमान में देख रहे हैं उसे कैसे पता है?

एक छोटा प्रयोग करो

  File directory = new File("./"); System.out.println(directory.getAbsolutePath()); 

आउटपुट को देखें, आप वर्तमान निर्देशिका जहां जावा देख रहा है पता चल जाएगा। वहां से, अपनी फ़ाइल का पता लगाने के लिए बस ./ ऑपरेटर का उपयोग करें।

उदाहरण के लिए यदि आउटपुट है

जी: \ JAVA8Ws \ MyProject \ सामग्री।

और आपकी फाइल माइपरोजेक्सेज़ फ़ोल्डर में मौजूद है, बस का उपयोग करें

 File resourceFile = new File("../myFile.txt"); 

उम्मीद है की यह मदद करेगा

  InputStream in = FileLoader.class.getResourceAsStream("<relative path from this class to the file to be read>"); try { BufferedReader reader=new BufferedReader(new InputStreamReader(in)); String line=null; while((line=reader.readLine())!=null){ System.out.println(line); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } 

प्रयास करें .\properties\files\ListStopWords.txt

जबकि बालूएससी द्वारा दिए गए जवाब इस मामले के लिए काम करता है, यह तब टूट जाएगा जब फ़ाइल पथ में रिक्त स्थान होता है क्योंकि यूआरएल में ये 20% में बदला जा रहा है जो एक वैध फाइल नाम नहीं है। यदि आप स्ट्रिंग के बजाय यूआरआई का उपयोग करते हुए फाइल ऑब्जेक्ट का निर्माण करते हैं, तो सफेद स्थानों को सही ढंग से संभाला जाएगा:

 URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.toURI()); 

मैं src / main // js / simulator.java के अंदर 'command.json' को पार्स करना चाहता था। इसके लिए मैंने एसएससीएक्स फ़ोल्डर में जेसन फाइल कॉपी की और इस तरह का पूरा रास्ता दिया:

 Object obj = parser.parse(new FileReader("./src/command.json")); 

यदि आप स्टेटिक विधि या स्थैतिक ब्लॉक से getClass() को कॉल करने का प्रयास कर रहे हैं तो आप निम्न तरीके से कर सकते हैं।

आप उन वस्तुओं के ऑब्जेक्ट पर getClass() को कॉल कर सकते हैं जो आप लोड कर रहे हैं

 public static Properties pathProperties = null; static { pathProperties = new Properties(); String pathPropertiesFile = "/file.xml; InputStream paths = pathProperties.getClass().getResourceAsStream(pathPropertiesFile); } 

यदि पाठ फ़ाइल नहीं पढ़ी जा रही है, तो एक अधिक निकटतम पथ का उपयोग करने का प्रयास करें (यदि आप चाहते हैं कि आप पूर्ण पूर्ण पथ का उपयोग कर सकते हैं), तो इस तरह से:

 FileInputStream fin=new FileInputStream("\\Dash\\src\\RS\\Test.txt"); 

मान लें कि पूर्ण पथ है:

 C:\\Folder1\\Folder2\\Dash\\src\\RS\\Test.txt