Visualizza la versione completa : [Java] scrivere codice html da file txt
ho del codice html in un file di testo....vorrei leggere questo file e poi aggiungere il codice letto in una pagina html in modo da modificare la pagina.
come faccio?
:dhò: :dhò:
Non vedo dove sia la difficcoltà: leggi il file di testo riga per riga e lo riscrivi nel secondo, apportando le modifiche che ti interessano...
La cosa mi suona troppo semplice: forse sarebbe il caso che tu fornissi ulteriori informazioni, sia sul file di testo, che sulla parte da modificare.
Inoltre non so se questo problema lo devi effettivamente risolvere in Java o se hai sbagliato sezione del forum...
Ciao. :ciauz:
il problema devo affrontarlo in java.....ti mostro piu o meno quello che voglio fare....
il file path.html è quello a cui apportare le modifiche,il file code.txt è quello dove c'è il codice che devo aggiungere.
BufferedReader filebuf = new BufferedReader(new FileReader("path.html"));
BufferedReader codebuf=new BufferedReader(new FileReader("code.txt"))
String nextStr;
nextStr = filebuf.readLine(); // legge una riga del file
while (nextStr != null){
System.out.println(nextStr); // visualizza la riga
if(nextStr.compareTo("<body"){
se trovo quella stringa alla prossima riga voglio aggiungere ciò che c'è nel file di testo come faccio??
}
nextStr = filebuf.readLine(); // legge la prossima riga
}
sei veramente sicuro e consapevole di dover fare quella cosa che dici tu?
no, chiedo, perche' magari si puo' trovare una soluzione alternativa al problema (che ne so, un tag "include" di jsp per esempio)...
Non vorrei dire una stupidaggine ma non puoi fare così:
la pagina html che devi modificare con il contenuto del file txt la fai diventare una pagina jsp.
Per invocare il contenuto del file txt nella pagina jsp puoi usare la direttiva include.
qui trovi degli esempi:
http://courses.coreservlets.com/Course-Materials/pdf/csajsp2/12-File-Inclusion.pdf
Ciao
si sicuro.....a meno che nn hai altro modo di aggiungere del codice html(residente in un file.txt) a una pagina html senza dover creare una marea di tag a mano.
non posso modificare la pagina da html a jsp....mi serve che resti html.....
R@ve M@ster
11-06-2007, 14:43
Puoi fare così:
1) scorri il contenuto di path.html e salvi tutto il testo letto in una stringa (ad esempio string_path )
2) quando incontri il tag che ti interessa, cominci a scorrere il file code.txt aggiungendone il contenuto a string_path
3) giunto alla fine di code.txt, salvi la stringa string_path in un file (ad esempio path_temp.html)
4) cancelli path.html
5) rinomini path_temp.html in path.html
Originariamente inviato da R@ve M@ster
Puoi fare così:
1) scorri il contenuto di path.html e salvi tutto il testo letto in una stringa (ad esempio string_path )
2) quando incontri il tag che ti interessa, cominci a scorrere il file code.txt aggiungendone il contenuto a string_path
3) giunto alla fine di code.txt, salvi la stringa string_path in un file (ad esempio path_temp.html)
4) cancelli path.html
5) rinomini path_temp.html in path.html
ma scusa se salvo il file html in una stringa i caratteri di a capo restano o li perdo e diventa un macello?e soprattutto come faccio una volta inocntrato body a aggiungere a partire dalla riga successiva(visto che per trovare body mi limito a trovare <body ma nn la chiusura del tag)??e cmq come faccio a salvare il contenuto di un file in una stringa?scusate l ignoranza ma sn un pò scarsino con la gestione file....
grosso modo avevo pensato di fare cosi.....solo che nn so come andare a capo una volta trovato il tag body per poter scrivere dopo il carattere di chiusura(>) dello stesso....
BufferedReader filebuf = new BufferedReader(new FileReader("path.html"));
BufferedReader codebuf=new BufferedReader(new FileReader("code.txt"))
String nextStr;
nextStr = filebuf.readLine(); // legge una riga del file
while (nextStr != null){
System.out.println(nextStr); // visualizza la riga
if(nextStr.compareTo("<body"){
//apro il file da modif in scrittura
File f=new File("path.html");
FileOutputStream fos=new FileOutputStream(f,true);
PrintStream ps=new PrintStream(fos);
//leggo la prima riga del file contenente il codice
String newString=codebuf.readline();
//scrivo sul file html tutto il contenuto di code
while(newString!=null){
ps.println(newString);
newString=codebuf.readline();}
}
nextStr = filebuf.readLine(); // legge la prossima riga
}
ps: nn l ho provato... l ho scritto con notepad quindi magari c'è qualche errore