si, hai ragione. In fatti ho speso un po di tempo nel capire quale fosse la soluzione più adatta.
Quello che voglio fare:
Voglio che venga letta una pagina html che può essere anche un file di testo, ma che nei punti che dico io (nei collegamenti per intenderci) vada a scrivere delle stringhe precedentemente salvate.
Leggere riga per riga è un pò dispendioso, parliamo di più di 100 righe.
Ho invece pensato di leggere prima tutto il file e poi di riscriverlo in diverse parti tra cui verrano inserite le mie stringhe.
E' un po brigoso capire esattamente su quale carattere interrompere la scrittura, ma sembra funzionare correttamente.
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;
while(iter.hasNext()) {
element = (menuElement)iter.next();
}
index.flush();
index.close();
sourceFile.close();
session.removeAttribute("logoPath");
session.removeAttribute("title");