HashMap
Serializable
इंटरफ़ेस लागू करता है, तो आप फ़ाइल को Map
लिखने के लिए ObjectOutputStream
कक्षा का उपयोग कर सकते हैं, और इसेका उपयोग करके फिर से पढ़ सकते हैंवर्ग
सरल कोड के नीचे
कि ObjectOutStream
के उपयोग और समझाने ObjectInputStream
import java.util.*;
import java.io.*;
public class A{
HashMap<String,String> hm;
public A(){
hm=new HashMap<String,String>();
hm.put("1","A");
hm.put("2","B");
hm.put("3","C");
method1(hm);
}
public void method1(HashMap<String,String> map){
//write to file : "fileone"
try{
File fileOne=new File("fileone");
FileOutputStream fos=new FileOutputStream(fileOne);
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(map);
oos.flush();
oos.close();
fos.close();
}catch(Exception e){}
//read from file
try{
File toRead=new File("fileone");
FileInputStream fis=new FileInputStream(toRead);
ObjectInputStream ois=new ObjectInputStream(fis);
HashMap<String,String> mapInFile=(HashMap<String,String>)ois.readObject();
ois.close();
fis.close();
//print All data in MAP
for(Map.Entry<String,String> m :mapInFile.entrySet()){
System.out.println(m.getKey()+" : "+m.getValue());
}
}catch(Exception e){}
}
public static void main(String args[]){
new A();
}
}
या आप डेटा दर्ज करने के लिए पाठ के रूप में आप बस Map
के माध्यम से पुनरावृति और लाइन द्वारा कुंजी और मान लाइन लिख सकते हैं लिखने के लिए चाहते हैं, और लाइन लाइन द्वारा इसे फिर से पढ़ा है और करने के लिए HashMap
import java.util.*;
import java.io.*;
public class A{
HashMap<String,String> hm;
public A(){
hm=new HashMap<String,String>();
hm.put("1","A");
hm.put("2","B");
hm.put("3","C");
method2(hm);
}
public void method2(HashMap<String,String> map){
//write to file : "fileone"
try{
File fileTwo=new File("filetwo.txt");
FileOutputStream fos=new FileOutputStream(fileTwo);
PrintWriter pw=new PrintWriter(fos);
for(Map.Entry<String,String> m :map.entrySet()){
pw.println(m.getKey()+"="+m.getValue());
}
pw.flush();
pw.close();
fos.close();
}catch(Exception e){}
//read from file
try{
File toRead=new File("filetwo.txt");
FileInputStream fis=new FileInputStream(toRead);
Scanner sc=new Scanner(fis);
HashMap<String,String> mapInFile=new HashMap<String,String>();
//read data from file line by line:
String currentLine;
while(sc.hasNextLine()){
currentLine=sc.nextLine();
//now tokenize the currentLine:
StringTokenizer st=new StringTokenizer(currentLine,"=",false);
//put tokens ot currentLine in map
mapInFile.put(st.nextToken(),st.nextToken());
}
fis.close();
//print All data in MAP
for(Map.Entry<String,String> m :mapInFile.entrySet()){
System.out.println(m.getKey()+" : "+m.getValue());
}
}catch(Exception e){}
}
public static void main(String args[]){
new A();
}
}
नोट जोड़ें: उपरोक्त कोड इस कार्य को करने के लिए सबसे तेज़ तरीका नहीं हो सकता है, लेकिन मैं CLA के कुछ आवेदन दिखाना चाहते हैं सत्र
ObjectOutputStream, ObjectInputStream, HashMap, Serializable, StringTokenizer
क्या आप की कोशिश की है देखते हैं? आप Java serialization, XML, CSV, बाइनरी डेटा मैन्युअल रूप से उपयोग कर सकते हैं ... –
मुझे बस सरल फ़ाइलreader पता है। इसलिए serialization टिप के लिए धन्यवाद। मैं इसे पहले नहीं जानता ... –