Eliminar TAB

10 respostas
javolatra

Bom dia estou com o seguinte problema, o meu código precisa converter os TABS em espaço, mas ele não está eliminando. Agradeço qualquer ajuda.
Segue o o código.

private void buttonGerarArquivoMouseClicked(java.awt.event.MouseEvent evt) {                                                
        String texto = "";
        String strCodigo = "";
        String strData = "";
        String strHora = "";
        String strDocumento = "";
        String documento = "";
        int cont = 0;
        int cont2 = 0;
        
        try{
            
            BufferedReader input = new BufferedReader(new FileReader("C:\\Gerador\\HORA300.txt"));
            
            try{
                String linha = null;
                FileWriter arquivo;
                PrintWriter escrever;
                
                arquivo = new FileWriter("C:\\Gerador\\HORASAF.txt");
                escrever = new PrintWriter(arquivo);
                
                texto = linha = input.readLine();
                
                while (linha != null){
                    texto.replaceAll("\t"," ");
                    while (texto.charAt(cont) != ' '){                        
                        strCodigo += texto.charAt(cont);
                        linha = input.readLine();
                        
                        cont ++;
                    }
                }
                
                escrever.append(strCodigo);
                escrever.close();
                this.dispose();
                
            }catch(java.io.IOException ioex){
                
            }finally{
                input.close();
            }
        }catch (IOException ioe){
            
        }
    }

10 Respostas

javolatra
javolatra:
Bom dia estou com o seguinte problema, o meu código precisa converter os TABS em espaço, mas ele não está convertendo. ele só converte se eu colocar
escrever.append(strCodigo.replaceAll("\t"," ");
na hora de imprimir no arquivo, mas não é assim que eu quero, eu tenho que converter dentro do While.Agradeço qualquer ajuda. Segue o o código.
private void buttonGerarArquivoMouseClicked(java.awt.event.MouseEvent evt) {                                                
        String texto = "";
        String strCodigo = "";
        String strData = "";
        String strHora = "";
        String strDocumento = "";
        String documento = "";
        int cont = 0;
        int cont2 = 0;
        
        try{
            
            BufferedReader input = new BufferedReader(new FileReader("C:\\Gerador\\HORA300.txt"));
            
            try{
                String linha = null;
                FileWriter arquivo;
                PrintWriter escrever;
                
                arquivo = new FileWriter("C:\\Gerador\\HORASAF.txt");
                escrever = new PrintWriter(arquivo);
                
                texto = linha = input.readLine();
                
                while (linha != null){
                    texto.replaceAll("\t"," ");
                    while (texto.charAt(cont) != ' '){                        
                        strCodigo += texto.charAt(cont);
                        linha = input.readLine();
                        
                        cont ++;
                    }
                }
                
                escrever.append(strCodigo);
                escrever.close();
                this.dispose();
                
            }catch(java.io.IOException ioex){
                
            }finally{
                input.close();
            }
        }catch (IOException ioe){
            
        }
    }
Z

Opa,

talvez seja a barra única antes do t, acho que são duas \, mas a IDE geralmente avisa…
tenta ae.

javolatra

talvez seja a barra única antes do t, acho que são duas \, mas a IDE geralmente avisa…
tenta ae.

é não já tentei, quando eu coloco para imprimir no arquivo tipo:escrever.append(strCodigo.replaceAll("\t"," "); ele faz a substituição, mas não quero assim, ele precisa converter ou antes do While ou dentro.

valeu cara.

sergiotaborda

A instrução

texto.replaceAll("\t"," ");

Não faz nada.
Vc precisa obter o resultado da operação

texto =   texto.replaceAll("\t"," ");
javolatra

SergioTaborda.

O caractere TAB continua la.

Tambem não deu certo. valeu

digaoalves

Tente:

texto = texto.replace('\t',' ');

[]´s
Digão

javolatra

Tente:

texto.replace('\t',' ');

Tambem não deu certo.

digaoalves

A forma correta de replace é essa que te passei, porém esse método retorna um String que vc deve recuperar, editei acima, mas vai novamente.

texto = text.replace('\t',' ');

[]´s
Digão

spycall

Assim funcionou:

text = text.replaceAll("\t", " ");
javolatra

Aqui na minha aplicação não funcionou.

Criado 2 de abril de 2008
Ultima resposta 2 de abr. de 2008
Respostas 10
Participantes 5