Salve a tutti,
premetto che sto provando a creare un file html in maniera dinamica in modo che il file possa essere masterizzato ed inviato al cliente.

Il problema:
ho delle diverse voci menu che vengono identificate dalla loro categoria di appartenenza, in modo da essere scritte ordinate su una tabella; inoltre ci sono dei booleans che mi permettono di sapere se la tabella è già stata inizializzata.
Quello che mi manca è la chiusura della tabbella, che deve essere scritta assolutamente quando si è sicurio che non ci siano più elementi della stessa categoria:
index.write(</table></td>);
Come faccio a sapere quando non ci sono più elementi della stessa categoria?
Grazie a tutti?
codice:
char[] buffer = new char[10000];
							
							BufferedWriter index = new BufferedWriter(new FileWriter(path+"index.htm", true));
							BufferedReader sourceFile = new BufferedReader(new FileReader(templatePath+"index.htm"));
							
							sourceFile.read(buffer);
							index.write(buffer, 1, 2160);
							String logoPath = (String)session.getAttribute("logoPath");
							index.write(logoPath);
							index.write(buffer, 2161, 118);
							String title = (String)session.getAttribute("title");
							index.write(title);
							index.write(buffer, 2279, 300);
							
							Iterator iter = elementList.iterator();
							menuElement element = null;
							
							boolean category_press = false;
							boolean category_tv = false;
							boolean category_radio = false;
							boolean category_internet = false;
							boolean category_other = false;
							
							while(iter.hasNext()) {
							  element = (menuElement)iter.next();
							  
							  if (element.getCategory().equals("Carta stampata")) {
								  
								  if (category_press == false) {
								    index.write("<td><table cellpadding='0' cellspacing='0' style='text-align:left;'>");
								    index.newLine();
								    index.write("<tr><td></td><td><font id='category'>Carta stampata</font></td></tr>");
								    index.newLine();
								    category_press = true;
								  }
								  
								  index.write("<tr><td><img id='squareImg' name='square' src='");
								  index.write("linkImage");
								  index.write("' alt='link' /></td><td id='menuElement'><a href='");
								  index.write(element.getMaterialPath());
								  index.write("' target='_blank'><font id='source'>");
								  index.write(element.getSource());
								  index.write("</font>
<font id='date'>");
								  index.write(element.getDate());
								  index.write("</font></a></td></tr>");
								  index.newLine();
								  
							  }
							  
							}
							
							index.flush();
							index.close();
							sourceFile.close();
							session.removeAttribute("logoPath");
							session.removeAttribute("title");