Ir para conteúdo
Fórum CódigoFonte.net
Penny

Importar arquivo txt e manipular seus dados

Recommended Posts

Olá, preciso de ajuda para manipular os dados de um arquivo txt, a função do exercício é primeiro importar os dados que estão organizados em colunas e depois armazena-los num vetor , mas não está dando certo, o código está assim:

public class Principal {

    public static void main(String[] args) 
    {
        
        try{ //começa tratamento de excessão
            
            String arquivo = "/home//EstDados/dados.txt";  //as barras estão assim pq uso linux
                        
            StringBuffer conteudo = new StringBuffer(""); //armazena cada caractere do arquivo
            
            
            FileInputStream fi = new FileInputStream(arquivo); //cria um objeto que define o 
            //arquivo que vai ler ----->  fi
            
            int c; //vai receber o byte do arquivo
            
            while ((c = fi.read()) != -1) //o -1 indica o fim do arquivo
                //o read está trabalhando com byte, então pode importar qualquer extenção de 
                //arquivo, até mesmo com imagem
            {
                conteudo.append((char) c);
                /*String nomeAbrev = conteudo.substring(0, 5);
                String nomeInt   = conteudo.substring(7, 46);
                String end       = conteudo.substring(47, 107);
                String cidade    = conteudo.substring(108, 123);
                String ddd       = conteudo.substring(124, 132);
                String tel       = conteudo.substring(133, 145);
                
                System.out.println("Conteudo do Arquivo:\n" + nomeAbrev 
                                                            + nomeInt 
                                                            + end
                                                            + cidade
                                                            + ddd
                                                            + tel);    */                
                
            }
            
            System.out.println("Conteudo do Arquivo:\n" + conteudo);
            fi.close();    
        } 
        catch (FileNotFoundException e1)
        { 
            System.out.println("Não achou o arquivo arquivo");
        }
        catch (Exception e2)  //Exceção caso não funcione
        {
            System.out.println("Erro no tratamento do arquivo");
        }
        
    }
    
}

Da forma que está, eu imprimo apenas a variável conteudo que apresenta o arquivo inteiro, mas a parte comentada é a forma que estou tentando armazenar cada dado no vetor.

Eu sei que a lógica não está orientada a objeto, esse é outro desafio, eu acho que deveria ter uma classe para definir o arquivo, outra para fazer as ações que teria o main e uma para o tratamento de excessão, mas não consegui por em prática essa idéia, se alguém puder ajudar agradeço

Att Penny

http://4each.com.br/ - Ajudando o mundo progress a crescer

http://www.proforo.net/ - Fórum para progress

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...