दिलचस्प पोस्ट
सी / सी ++ में सामान्य वितरण के बाद यादृच्छिक संख्या उत्पन्न करें jQuery UI Sortable – मैं खींचें / सॉर्ट किए गए आइटम पर क्लिक ईवेंट को कैसे रद्द कर सकता हूँ? सीएसवी आयात करने के लिए मोंगोइमपोर्ट का उपयोग कैसे करें क्या एक पृष्ठभूमि छवि Winforms Textbox पर सेट की जा सकती है? एक जांच की बाधा किसी अन्य तालिका से संबंधित हो सकती है? कैसे एक निष्पादक सेवा बंद करने के लिए? पीएचपी के लिए कोलासेज फ़ंक्शन? एंड्रॉइड: एक ListView से बच्चे के दृश्यों तक पहुंचें PHP: एक stdClass वस्तु की गणना करें IISExpress यूजर इंटरफेस पायथन में फ़ाइलें और सबफ़ोल्डर ब्राउज़ करें किसी संदर्भ प्रकार और मूल्य प्रकार में सी # में क्या अंतर है? प्रारंभिक सूची के लाभ आप ग्लोबल / वेबग्ल के 4, 8 बिट इनट में एक 32 बिट इंट कैसे पैक करते हैं? PHP पर upload_max_filesize बदलना

मैं कैसे एक फ़ाइल को कक्षा पथ में सहेज सकता हूँ

मैं कैसे एक फ़ाइल को सहेज / लोड कर सकता हूँ जो स्थित है जहां मेरी कक्षाएं हैं? मैं उस स्थान का भौतिक पथ नहीं हूं और मैं उस फ़ाइल को खोजने के लिए गतिशील चाहता हूं।

धन्यवाद

संपादित करें:

मुझे एक XML फ़ाइल लोड करना और लिखना और उसे पढ़ना है और मुझे यकीन नहीं है कि उसे कैसे संबोधित करना है

Solutions Collecting From Web of "मैं कैसे एक फ़ाइल को कक्षा पथ में सहेज सकता हूँ"

सामान्य मामले में आप नहीं कर सकते क्लासलोडर से लोड किए गए संसाधन कुछ भी हो सकते हैं: निर्देशिकाओं में फ़ाइलें, जार फ़ाइलों में एम्बेड की गई फ़ाइलें या नेटवर्क पर भी डाउनलोड की गईं

ClassLoader#getResource() या getResourceAsStream() का उपयोग उन्हें URL रूप में या getResourceAsStream() से InputStream रूप में प्राप्त करने के लिए।

 ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream input = classLoader.getResourceAsStream("com/example/file.ext"); // ... 

या यदि यह वर्तमान पैकेज के समान पैकेज में है, तो आप इसे निम्नानुसार प्राप्त कर सकते हैं:

 InputStream input = getClass().getResourceAsStream("file.ext"); // ... 

बचत एक कहानी अलग है यह कार्य नहीं करेगा अगर फ़ाइल एक JAR फ़ाइल में स्थित है अगर आप यह सुनिश्चित कर सकते हैं कि फ़ाइल विस्तारित है और लिखने योग्य है, तो URL को getResource() से File कनवर्ट करें

 URL url = classLoader.getResource("com/example/file.ext"); File file = new File(url.toURI().getPath()); // ... 

फिर आप इसके साथ एक FileOutputStream सकते हैं

संबंधित सवाल:

  • getResourceAsStream() बनाम FileInputStream

आप निम्नलिखित की कोशिश कर सकते हैं कि आपका क्लास फाइल सिस्टम से लोड किया गया है।

 String basePathOfClass = getClass() .getProtectionDomain().getCodeSource().getLocation().getFile(); 

उस पथ में एक फ़ाइल प्राप्त करने के लिए जो आप उपयोग कर सकते हैं

 File file = new File(basePathOfClass, "filename.ext"); 

new File(".").getAbsolutePath() + "relative/path/to/your/files";

सिस्टम गुण दस्तावेजों के अनुसार, आप इसे "java.class.path" प्रॉपर्टी के रूप में देख सकते हैं:

 string classPath = System.getProperty("java.class.path"); 

यह पीटर की प्रतिक्रिया पर एक विस्तार है:

यदि आप एक ही कक्षा में मौजूदा वर्ग के रूप में फ़ाइल चाहते हैं (उदाहरण: प्रोजेक्ट / वर्ग):

 URI uri = this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI(); File file = new File(new File(uri), PROPERTIES_FILE); FileOutputStream out = new FileOutputStream(createPropertiesFile(PROPERTIES_FILE)); prop.store(out, null); 

यदि आप फ़ाइल को एक अलग कक्षापथ (उदाहरण: प्रोजेक्ट / टेस्ट-क्लासेस) में चाहते हैं, तो बस this.getClass() को TestClass.class जैसे कुछ के साथ TestClass.class

क्लासपाथ से गुण पढ़ें:

 Properties prop = new Properties(); System.out.println("Resource: " + getClass().getClassLoader().getResource(PROPERTIES_FILE)); InputStream in = getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE); if (in != null) { try { prop.load(in); } finally { in.close(); } } 

गुणों को कक्षापाठ लिखें:

 Properties prop = new Properties(); prop.setProperty("Prop1", "a"); prop.setProperty("Prop2", "3"); prop.setProperty("Prop3", String.valueOf(false)); FileOutputStream out = null; try { System.out.println("Resource: " + createPropertiesFile(PROPERTIES_FILE)); out = new FileOutputStream(createPropertiesFile(PROPERTIES_FILE)); prop.store(out, null); } finally { if (out != null) out.close(); } 

क्लासपाथ पर फ़ाइल ऑब्जेक्ट बनाएँ:

 private File createPropertiesFile(String relativeFilePath) throws URISyntaxException { return new File(new File(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI()), relativeFilePath); }