2013-07-23 5 views
0

в java можно с помощью создать структуру hashmap/tree во время выполнения и сохранить ее как файл/файл Java только во время выполнения. и сохранить его как файл java или скомпилированный файл и использовать его для какого-либо другого приложения. Это возможный сценарий?В java создать файл класса с hashmap во время выполнения

+0

дубликат: HTTP: //stackoverflow.com/questions/7608704/java-generate-class-file-at-runtime –

+0

Даже выполнив команду JAVAC Using Runtime класс можно. –

+0

Привет, Суреш, нет, я не видел этого раньше. я спрашиваю, как создать файл с содержимым hashmap, и все это во время выполнения – Aada

ответ

0

Мы можем сохранять и извлекать объекты java в файл во время выполнения.

объект

Saving должен реализовывать Serializable интерфейс

класс Человек реализует Serializable {

String firstName; 
String lastName; 

public Person(String firstName, String lastName) { 
    super(); 
    this.firstName = firstName; 
    this.lastName = lastName; 
} 
public String getFirstName() { 
    return firstName; 
} 
public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 
public String getLastName() { 
    return lastName; 
} 
public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 
@Override 
public String toString() { 
    return "Person [firstName=" + firstName + ", lastName=" + lastName 
      + "]"; 
} 

}

общественного класса HashMapSerialization {

public static void main(String[] args) throws Exception { 

    Map<String, Person> map = new HashMap<String, Person>(); 
     map.put("1", new Person("firstName1","lastName1")); 
     map.put("2", new Person("firstName2","lastName2")); 
     map.put("3", new Person("firstName3","lastName3")); 
     FileOutputStream fos = new FileOutputStream("person.ser"); 
     ObjectOutputStream oos = new ObjectOutputStream(fos); 
     oos.writeObject(map); 
     oos.close(); 
} 

}

общественного класса HashMapDeSerialization {

public static void main(String[] args) throws Exception { 
    FileInputStream fis = new FileInputStream("person.ser"); 
     ObjectInputStream ois = new ObjectInputStream(fis); 
     Map<String, Person> anotherMap = (Map) ois.readObject(); 
     ois.close(); 
     Set keySet = anotherMap.keySet(); 
     for (Object object : keySet) { 
      Person person = anotherMap.get((String)(object)); 
      System.out.println(person.toString()); 
     } 
} 

}

Смежные вопросы