Estou testando uma classe que desenvolvi que faz o seguinte: lê uma linha de um arquivo e corta através do método substring essa linha quando encontra um abre ou fecha chaves. Porém estou tendo um probleminha, porque quando há numa mesma linha uma string e um caractere abre chaves ele corta direitinho, porém quando o abre chaves está sozinho numa linha ele pula tb uma linha, e isso não poderia acontecer!!!
Veja o que acontece:
bola{piano ficará:
bola
{
piano
porém:
bola
{
piano ficará
bola
{
piano.
Como eu faço para tirar essa linha em branco, aí vai o pedaço do meu código:
private String linha_temporaria = new String("");
private String get_linha(BufferedReader rd)//Método que efetua a leitura das linhas
{
int abre,fecha,proximo;
String ln = new String("");
String retorno;
if (linha_temporaria=="")
{
try
{
ln=rd.readLine();
if (ln!=null) linha_temporaria= ln.trim();
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
abre = linha_temporaria.indexOf('{');
fecha = linha_temporaria.indexOf('}');
if ((abre!=-1) || (fecha!=-1))
{
if (abre<fecha)
{
if (abre!=-1) proximo = abre;
else proximo = fecha;
}
else
{
if (fecha!=-1) proximo = fecha;
else proximo = abre;
}
if (proximo==0)
{
retorno = linha_temporaria.substring(0,proximo+1);
linha_temporaria = linha_temporaria.substring(proximo+1).trim();
}
else
{
retorno = linha_temporaria.substring(0,proximo).trim();
linha_temporaria = linha_temporaria.substring(proximo).trim();
}
}
else
{
retorno = linha_temporaria;
linha_temporaria="";
}
if (ln==null) retorno = ln;
return retorno;
}
Desde já agradeço
até mais…