Bom dia,
Tenho uma string (seu conteúdo é um html), e preciso retirar 4 partes desta, adicionando em um Array.
Tentei usar um arquivo lendo linha a linha, e retirando o texto delimitado por palavras chaves. mas não deu certo porque ao criar um arquivo toda string vira uma única linha.
Não queria percorrer caracter a caracter, alguém sabe como posso proceder?
public static void main(String[] args) {
// TODO Auto-generated method stub
String corpoHtml =" [produto_ini]" +
"<table class=\"ftr\">" +
"<tr><td class=\"ftT\">bla</tr>" +
"[com_ini]" +
"<tr><td class=\"ftD\">bla<td></tr>" +
"[res_ini]" +
"<tr><td class=\"ftC\">bla</td></tr>" +
"[pro_fim]" +
"</table>" +
"<br/>";
BufferedReader br = null;
String linha ="";
ArrayList result = null;
String inicio = "";
String fim = "";
String conteudo = null;
try {
FileWriter writer = new FileWriter(new File("saida.txt"));
PrintWriter saida = new PrintWriter(writer);
saida.print(corpoHtml);
saida.close();
writer.close();
FileReader reader = new FileReader(new File("saida.txt"));
br = new BufferedReader(reader);
while ((linha=br.readLine())!= null) {
linha=br.readLine();
if(linha.equals( "[produto_ini]")){
linha=br.readLine();
inicio = conteudo;
conteudo = "";
}else if(linha.equals("[com_ini]")){
linha=br.readLine();
inicio = conteudo;
conteudo = "";
}else if(linha.equals("[res_ini]")){
linha=br.readLine();
inicio = conteudo;
conteudo = "";
}else if(linha.equals("[pro_fim]")){
linha=br.readLine();
inicio = conteudo;
conteudo = "";
}else{
conteudo += linha;
}
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
obs: percorri linha a linha e a cada palavra chave ia guardando o conteudo da string na variavel conteudo
obrigado