java - How do I write to a YAML file using SnakeYaml? -
निम्नलिखित कोड पर विचार करें:
सार्वजनिक स्थैतिक शून्य डंप ओब्जेक्ट टयोयल (स्ट्रिंग कुंजी, ऑब्जेक्ट ओ, स्ट्रिंग पथ) IOException फेंकता है {मानचित्र & lt; स्ट्रिंग, ऑब्जेक्ट & gt; डेटा = नया हैशमैप & lt; & gt; (); Data.put (कुंजी, हे); फ़ाइल एफ = नया फ़ाइल (पथ); F.mkdirs (); F.createNewFile (); // डेटा को फाइल में लिखना} इस विधि को दिए गए ऑब्जेक्ट ओ को दी गई कुंजी पर लिखने का लक्ष्य है, YAML फाइल में दी गई पथ पर। (अगर यह अस्तित्व में नहीं है, तो इसे बनाया जाता है।) लेकिन जाहिर है कि मुख्य भाग अभी भी लापता है।
अब निम्नलिखित, एक YAML बनाने के लिए मुझे केवल एक नक्शा बनाने और ऑब्जेक्ट्स को सही पर डालनी है चाबियाँ, जो मैंने किया था।
लेकिन कहीं नहीं (कम से कम मुझे यह नहीं दिख रहा है) बताता है कि कैसे एक विशिष्ट पथ पर एक yaml फ़ाइल बनाने के लिए!
केवल एक चीज जो मैंने पाया था:
"यमाल डंप (ऑब्जेक्ट डेटा) विधि एक जावा ऑब्जेक्ट स्वीकार करता है और एक YAML दस्तावेज़ का उत्पादन करता है" सार्वजनिक शून्य testDump ) {नक्शा & lt; स्ट्रिंग, ऑब्जेक्ट & gt; डेटा = नया हैशमैप & lt; स्ट्रिंग, ऑब्जेक्ट & gt; (); Data.put ("नाम", "सिलेंथंड ओलेनेडर"); Data.put ("दौड़", "मानव"); Data.put ("लक्षण", नया स्ट्रिंग [] {"ONE_HAND", "ONE_EYE"}); यमाल यमाल = नया यमाल (); स्ट्रिंग आउटपुट = yaml.dump (डेटा); Println (उत्पादन); } और
"Yaml.dump (ऑब्जेक्ट डेटा, राइटर आउटपुट) निर्दिष्ट फाइल / स्ट्रीम में उत्पादित YAML दस्तावेज़ को लिखेंगे।" सार्वजनिक शून्य टेस्टडम्प्रायर () {नक्शा & lt; स्ट्रिंग, ऑब्जेक्ट & gt; डेटा = नया हैशमैप & lt; स्ट्रिंग, ऑब्जेक्ट & gt; (); Data.put ("नाम", "सिलेंथंड ओलेनेडर"); Data.put ("दौड़", "मानव"); Data.put ("लक्षण", नया स्ट्रिंग [] {"ONE_HAND", "ONE_EYE"}); यमाल यमाल = नया यमाल (); स्ट्रिंगवर्टर लेखक = नया स्ट्रिंगर्राइटर (); Yaml.dump (डेटा, लेखक); Println (writer.toString ()); } लेकिन फिर भी, यद्यपि यह वास्तव में कहता है कि कोड के दूसरे बिट में, यह एक निश्चित फाइल के हेरफेर का समर्थन नहीं करता है और यह निश्चित रूप से नहीं दिखाया गया कि यह कैसे करना है ।
क्या यह केवल मुझे है या क्या दस्तावेज बहुत ही गुप्त और निर्दिष्ट है? इसके बारे में आधा विशेष अनुप्रयोगों के बारे में है जिनके बारे में मैं कभी भी नहीं सुना। मैं इसे देखकर वास्तव में गूंगा महसूस करता हूं और यह मुझे क्रोधित करता है।
किसी भी तरह; मैं वास्तव में किसी भी मदद की सराहना करता हूं जो आप मुझे दे सकते हैं।
अगर मुझे सवाल समझा है, तो YAML या SnakeYAML प्रति से संबंधित कुछ भी नहीं है, लेकिन आप जावा में एक विशिष्ट फ़ाइल को कैसे लिखते हैं असल में, जो दूसरा उदाहरण आपने कॉपी किया है, वह दिखा रहा है कि किसी ऑब्जेक्ट को किसी मनमानी ऑब्जेक्ट में कैसे डंप करना है (हालांकि वे इसका इस्तेमाल करते हैं क्योंकि यह डिस्क पर कुछ भी नहीं लिखता है)। यदि आप इस उदाहरण को किसी खास फाइल में लिखने के लिए संशोधित करना चाहते हैं, तो आप ऐसा करने से ऐसा कर सकते हैं:
सार्वजनिक शून्य परीक्षणडप्राइटर () {मानचित्र & lt; स्ट्रिंग, ऑब्जेक्ट & gt; डेटा = नया हैशमैप & lt; स्ट्रिंग, ऑब्जेक्ट & gt; (); Data.put ("नाम", "सिलेंथंड ओलेनेडर"); Data.put ("दौड़", "मानव"); Data.put ("लक्षण", नया स्ट्रिंग [] {"ONE_HAND", "ONE_EYE"}); यमाल यमाल = नया यमाल (); फ़्लेमराइटर लेखक = नया फ़्लेमरेटर ("/ पथ / से / फाइल। यम"); Yaml.dump (डेटा, लेखक); } जो एक नक्शा डेटा को एक YAML फ़ाइल में डंप करेगा ध्यान दें कि FileWriter को खोलने से पहले FileWriter आपके लिए यह संभाल लेगा / फ़ाइल खोलने से पहले फाइल को खुद बनाना आवश्यक नहीं है।
Comments
Post a Comment