2014-12-12 4 views
0

Я хочу написать/прочитать из файла .txt атрибуты моего объекта. Моя главная борьба в том, что у моего объекта есть Map<String, Object>, который я бы тоже хотел написать. Я попытаюсь объяснить это примерами:Чтение/запись объектов и списков в файл

У меня есть больница, в которой есть отделения, и у каждого отдела есть врачи. Я хочу быть в состоянии спасти больницу, но также включает в себя сохранение это отделы и врачей в этих отделах, так что файл .txt будет что-то вроде этого:

Так больница имеет Map<String, Department> и Deparment имеет Map<Integer, Doctor>

Hospital1

-Department1

--Doctors1

--Doctors2

-Department2

Какой Hospital1 бы написать его параметры, как HospitalName-200-100, и ниже, что каждое отделение от этой больницы, то же с ЦСТ и Docs.

Для этого я применил эти методы для записи/чтения в файл. Но я действительно не знаю, как я мог реализовать чтение и хранение объектов.

Возможно, я не могу быть достаточно ясным, но я действительно не знаю, как объяснить это словами. Это проблема, когда дело доходит до чтения того, что у меня есть в txt-файле, так как это в некоторой степени довольно легко. Поэтому, я думаю, это решило бы проблему, если бы я мог читать ее по строкам? Я действительно не знаю, что-то потерянное здесь.

//WRITE 
public void escriureText(String linia) 
{   
    try (BufferedWriter bw = new BufferedWriter(new FileWriter(f,true))) 
    { 
     bw.write(linia); 
     bw.write("\r\n"); 
     bw.close(); 
    } 
    catch (Exception e) 
    { 
     throw new IllegalArgumentException(e); 
    } 
} 


//READ 
public String llegirText() 
{ 
    String linia = ""; 
    String line = ""; 
    try (BufferedReader reader = new BufferedReader(new FileReader(f))) 
    { 
     while ((line = reader.readLine()) != null) 
     { 
      linia = linia + line + "\n"; 
     } 
    } 
    catch (Exception e) 
    { 
     throw new IllegalArgumentException(e); 
    } 
    return linia; 
} 
+0

Возможный дубликат [Как написать и прочитать файл с помощью HashMap?] (Http://stackoverflow.com/questions/12747946/how-to-write-and-read-a-file-with- a-hashmap) – gtgaxiola

+0

Ваш классный сериализуемый сериал –

+0

Работает ли интерфейс Serializable от Java, или вы ограничены использованием TXT-файла? – IdusOrtus

ответ

0

Одним из решений было бы использовать формат xml. Тогда файл будет выглядеть примерно так.

<Hospital> 
    <Department> 
     <Doctor> 
     </Doctor> 
     <Doctor> 
     </Doctor> 
    </Department> 
    <Department> 
     <Doctor> 
     </Doctor> 
     <Doctor> 
     </Doctor> 
    </Department> 
    <Department> 
     <Doctor> 
     </Doctor> 
     <Doctor> 
     </Doctor> 
    </Department> 
</Hospital> 

Чтобы сохранить формат XML можно использовать http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Document.html

пример кода для использования XML вы можете найти здесь. http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/

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