2010-05-11 19 views
10

मैं एक Hashtable<string,string>, मेरे कार्यक्रम में मैं बाद में कार्रवाई करने के लिए Hashtable के मूल्यों रिकॉर्ड करना चाहते है।क्या हम एक फ़ाइल में हैशटेबल लिख सकते हैं?

मेरा प्रश्न है: हम एक फाइल करने के लिए Hastable आपत्ति लिख सकता है? यदि हां, तो हम बाद में उस फ़ाइल को कैसे लोड कर सकते हैं?

उत्तर

9

हाँ, द्विआधारी क्रमांकन (ObjectOutputStream) का उपयोग:

FileOutputStream fos = new FileOutputStream("t.tmp"); 
ObjectOutputStream oos = new ObjectOutputStream(fos); 

oos.writeObject(yourHashTable); 
oos.close(); 

तो फिर तुम यह ObjectInputStream

वस्तुओं है कि आप अंदर डाल का उपयोग कर पढ़ सकते हैं Hashtable (या बेहतर - HashMap) Serializable

को लागू करना

यदि आपस्टोर करना चाहते हैं एक मानव पठनीय प्रारूप में, आप java.beans.XMLEncoder उपयोग कर सकते हैं:

FileOutputStream fos = new FileOutputStream("tmp.xml"); 
XMLEncoder e = new XMLEncoder(fos); 
e.writeObject(yourHashTable); 
e.close(); 
+0

धन्यवाद आपका उत्तर! मैं सवाल मेरी hastable <स्ट्रिंग यूआरएल, स्ट्रिंग urlcontent> मैं कैसे की तरह फ़ाइल xml में लिख सकते हैं //// //// tiendv

+0

आप एक्सएमएल अनुकूलित करने के लिए Xstream या JAXB की तरह कुछ का उपयोग कर सकते हैं, लेकिन यह बहुत ज्यादा सिरदर्द है। मैं XMLEncoder, या प्रस्तावित 'गुण 'समाधान के साथ रहना चाहता हूं। – Bozho

5

अपने विशिष्ट आवेदन के बारे में पता नहीं है, लेकिन आप Properties class पर एक नजर है सकते हैं। (यह hashmap फैली हुई है।)

इस वर्ग

void load(InputStream inStream) 
    Reads a property list (key and element pairs) from the input byte stream. 
void load(Reader reader) 
    Reads a property list (key and element pairs) from the input character stream in a simple line-oriented format. 
void loadFromXML(InputStream in) 
    Loads all of the properties represented by the XML document on the specified input stream into this properties table. 
void store(Writer writer, String comments) 
     Writes this property list (key and element pairs) in this Properties table to the output character stream in a format suitable for using the load(Reader) method. 
void storeToXML(OutputStream os, String comment) 
     Emits an XML document representing all of the properties contained in this table. 

The tutorial काफी भी शैक्षिक है प्रदान करता है।

1

आप आसानी से नक्शे को संपादित करने के लिए एक बार यह पता लिखा है सक्षम होना चाहते हैं, तो आप jYaml पर एक नज़र डालें कर सकते हैं। यह आपको आसानी से मानचित्र को यमल-स्वरूपित फ़ाइल में लिखने की अनुमति देता है, जिसका अर्थ है कि इसे पढ़ना और संपादित करना आसान है।

0

तुम भी MapDB इस्तेमाल कर सकते हैं और यह आपके लिए HashMap की बचत होगी आप एक put और एक commit कर के बाद। इस तरह यदि प्रोग्राम क्रैश करता है तो मूल्य अभी भी जारी रहेगा।

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

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