Ler arquivo txt e gravar outro arquivo com int[RESOLVIDO]

5 respostas
T

ola a todos , venho enfrentando o seguinte problema , to querendo ler um arquivo txt que contem diversos numeros e entao pegar estes numeros e gravar em outro arquivo mas como inteiros ! Nao consegui encontrar a solucao para isso , alguem tem alguma nocao de como fazer ? Se for de ajuda posso postar meu codigo aqui , apesar de ele estar com uma certe deficiencia na clareza !
Abracos a todos

5 Respostas

L

tecnocrata:
ola a todos , venho enfrentando o seguinte problema , to querendo ler um arquivo txt que contem diversos numeros e entao pegar estes numeros e gravar em outro arquivo mas como inteiros ! Nao consegui encontrar a solucao para isso , alguem tem alguma nocao de como fazer ? Se for de ajuda posso postar meu codigo aqui , apesar de ele estar com uma certe deficiencia na clareza !
Abracos a todos


Vc vai jogar em outro arquivo texto ou em um xml?
Quando vc recupera de um arquivo texto ele virá String então pq vc não faz Integer.parseInt("");
Não entendo o pq querer colocar Integer em um arquivo se quem for recuperar verá String do mesmo jeito?

T

entao leo quero ele como int porque quero fazer umas manipulacoes q necessitam q ele seja um tipo primitivo :wink: vou tentar fazer conforme sua dica ai e posto no final de semana :wink:
abracos

L

Ok…qualquer coisa posta de novo :wink:

T

olá amigo, olha outra possibilidade

File arquivo = new File("arquivo.txt")

Scanner entrada = null;
      
int a, b, c;
   
try
{
     entrada = new Scanner(new BufferedReader( new FileReader(arquivo.getPath())));
 
     a = entrada.nextInt();
     b = entrada.nextInt();
     c = entrada.nextInt();
                 
           ... etc...

 } 
 catch ( java.io.IOException exc ) 
 {
      JOptionPane.showMessageDialog(this,"Erro ao Abrir o Arquivo",
      "Erro ao Abrir o Arquivo", JOptionPane.ERROR_MESSAGE);
 }
T
Entao, consegui o objetivo que era pegar um arquivo de texto le-lo e entao fazer umas manipulacoes com os dados lidos em formato primitivo(int). Das duas solucoes que voces propuseram so consegui implementar uma ( usando o scanner) a usando o Integer tentei usar juntamente com um arrayList mas nao deu ;/ ( se alguem quiser mostrar uma forma :wink: ) , bem fico basicamente assim: Sendo , this.fr=new FileReader(arq); this.arq = new File(arquivo); this.br=new BufferedReader(fr); //para linkar no scanner this.ds = new DataInputStream(new FileInputStream(arq)); this.dos = new DataOutputStream(new FileOutputStream(arqEscri));
public void lerArqInicial() {
        
        Scanner receptor;
        int  copy; //inteiro para receber os valores
        //ArrayList<Integer> lista = new ArrayList<Integer>();
        
        try {
            while (br.read() != -1) {
                receptor =new Scanner(br); 
                while(receptor.hasNextLine())
                {
                copy = receptor.nextInt();
                dos.write(copy);
                
                System.out.println(copy);
                //lista.add(copy);
                //System.out.println(lista.toString());

                 dos.flush();

                // System.out.println(copy +" ");
                }
            }

            ds.close();
            dos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

por fim agradecimentos meus a ajuda de voces.

Criado 12 de junho de 2008
Ultima resposta 14 de jun. de 2008
Respostas 5
Participantes 3