Estou bolando um resincronizador de legenda simples.
public void resyncLegenda(File arquivo, int milisegundos) throws FileNotFoundException, IOException{
FileReader reader = new FileReader(arquivo);
FileWriter writer = new FileWriter("d:/temp.srt");
BufferedReader leitor = new BufferedReader(reader);
Parser parser = new Parser();
String tempo = null;
String tempoInicio = null;
String tempoFim = null;
String numero = null;
String tempoInicioS = null;
String tempoFimS = null;
String tempoS = null;
int tempoInicioMilisec;
int tempoFimMilisec;
do{
if(leitor.readLine().equals("")){
numero = leitor.readLine();
writer.write("\r\n");
writer.write(numero+"\r\n");
tempo = leitor.readLine();
tempoInicio = String.copyValueOf(tempo.toCharArray(), 0, 12);
tempoFim = String.copyValueOf(tempo.toCharArray(),17,12);
tempoInicioMilisec = parser.retornaTempoEmMiliSec(tempoInicio);
tempoFimMilisec = parser.retornaTempoEmMiliSec(tempoFim);
tempoInicioMilisec = tempoInicioMilisec + milisegundos;
tempoFimMilisec = tempoFimMilisec + milisegundos;
tempoInicioS = parser.retornaTempoEmString(tempoInicioMilisec);
tempoFimS = parser.retornaTempoEmString(tempoFimMilisec);
tempoS = tempoInicioS+" --> "+tempoFimS;
writer.write(tempoS);
writer.write("\r\n");
}
}while(leitor.ready());
}
Nessa linha, ele lança um null pointer exeption
tempoInicio = String.copyValueOf(tempo.toCharArray(), 0, 12);
Ja tentei de tudo, e nao deu pra resolver.
P.S.: Se eu colocar um println abaixo dessa linha, ele varre todo o arquivo de origem normalmente, e no fim lança a exceção