Boa tarde!
primeiramente desculpe pelo titulo do tópico, não soube como explicar melhor.
Eu tenho um codigo que faz a leitura de um arquivo srt e vai jogando na tela, eis o codigo:
FileReader reader= new FileReader(new File("C:/Users/Apanhamentos/teste.srt"));
BufferedReader bufferedReader= new BufferedReader(reader);
String linha = null;
while((linha = bufferedReader.readLine()) != null) {
if(linha.contains("-->")){
comeco= linha.subSequence(0, 12).toString();
fim= linha.subSequence(17, 29).toString();
milessimosFim= Integer.parseInt(fim.subSequence(9, 12).toString());
milessimosInicio = Integer.parseInt(comeco.subSequence(9, 12).toString());
segundoInicio= Integer.parseInt(comeco.subSequence(6, 8).toString());
segundosFim =Integer.parseInt(fim.subSequence(6, 8).toString());
minutosFim= Integer.parseInt(fim.subSequence(3, 5).toString());
minutosInicio = Integer.parseInt(comeco.subSequence(3, 5).toString());
tempoTotal= Math.abs((milessimosFim-milessimosInicio))+(Math.abs(segundoInicio-segundosFim)*1000)+
Math.abs((minutosFim-minutosInicio)*60000);
System.out.println("Nova linha");
Thread.sleep(tempoTotal);
}
}
}
O codigo pode estar meio feio, mais é so o começo.
O meu problema eh que eu quero fazer ele online, eu fiz uma app web em JSF2.0 e eu queria que ele fosse jogando na tela a legenda que ele ler(no caso a String “Nova Linha”), a minha ideia foi ele jogar a string da linha em uma List e depois joh]gar essa lista na view e ir fazendo o pool nela a cada tempo.
O problema é fazer o “atualizar” da pagina, fazendo local sem ser web eu posso fazer o Thread.sleep(tempoTotal); qua ai ele joga a proxima de a cordo com o tempo, mais e em web?
Tentei fazer o FacesContext.getCurrentInstance().renderResponse(); mais não funcionou, alguem sabe como posso “atualizar” a view todas vez q ele passar pelo if()?
obs: sei que fazendo o while no construtor ele amarra a aplicação e a resposta so vai ser mostrada na tela quando acabar o arquivo.
Não sei se fui muito claro XD
Desde de ja agradeço.