Zapisywanie ArrayList z trójkątami do pliku

Zapisywanie ArrayList z trójkątami do pliku
  • Rejestracja: dni
  • Ostatnio: dni
0

Do jakiego typu pliku można zapisać zawartość

Kopiuj
ArrayList<Polygon>

?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Do jakiego chcesz. Możesz serializować binarnie, możesz do jakiegoś XMLa czy JSONa.

bree
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 40
0

Ja geoJson przechowuje w mysql, a użytkownikowi serwuje z json.

  • Rejestracja: dni
  • Ostatnio: dni
0

Wracam jeszcze do tematu. Próbuję listę z trójkątami zapisać do pliku XML i później odtworzyć ją z tego pliku. Mam problem z jej odtworzeniem, zapisuje się w niej tylko trójkąt, który był pierwszy w liście. W jaki sposób mogę to poprawić?

Kopiuj
else if (source == mZapiszJako)
		{
			 JFileChooser fileCh = new JFileChooser();
			   
			   if (fileCh.showSaveDialog(null)==JFileChooser.APPROVE_OPTION)
			   {
				   File nazwaPliku = fileCh.getSelectedFile();  

				   try 
				   {
					   XMLEncoder enc = new XMLEncoder(
							              new BufferedOutputStream(
							                new FileOutputStream(nazwaPliku)));		   
					   
					   for (Polygon plg : listaTrojkatow)
					   {
						  enc.writeObject(plg);
					   }
					   enc.close();				   
				   }
				   catch (FileNotFoundException e1) 
				   {
				 	 e1.printStackTrace();
				   } 		   
			   }   
		}

		else if (source == mOtworz)
		{	 
			 JFileChooser fileCh = new JFileChooser();
			   
			   if (fileCh.showOpenDialog(null)==JFileChooser.APPROVE_OPTION)
			   {
				   File nazwaPliku = fileCh.getSelectedFile(); 
				   
				   try 
				   {
					  XMLDecoder dec = new XMLDecoder(
					                      new BufferedInputStream(
					                        new FileInputStream(nazwaPliku)));
					 				  
					  Polygon trojkaty = (Polygon) dec.readObject();
					  listaTrojkatow.add(trojkaty);
					 
					  dec.close();  
					  panelRysunkowy.repaint();
				   }
				   catch (FileNotFoundException e1) 
				   {
					 e1.printStackTrace();
			 	   }
			   }

Występują też inne problemy, ale o tym później.

  • Rejestracja: dni
  • Ostatnio: dni
0

Pomoże ktoś?
Domyślam się, że zapis obiektu z pliku XML do listy powinien być wykonywany w pętli. Ale nie mam pojęcia, jaką pętlę można by zastosować w tym przypadku i jaki powinna mieć warunek.

P7
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 92
0

A nie lepiej serializować i deserializować od razu całą listę z trójkątami ?
Ogólnie jeśli chodzi o zapis/odczyt do xml-a to polecam przyjrzyeć się bibliotece JAXB, która oferuje bardziej rozbudowane możliwości.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.