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");

Rispondi quotando