Erro com o arquivo texto

6 respostas
Gustavo_D_Martins

Estou tentando armazenar um valor no vetor mas ele só fica null.
Tenho um arquivo texto com Strings e inteiros e tento separar eles para poder ordena-los, mas está dando erro ao inserir no vetor.
O modelo do Arquivo texto é
A 4
O 6
I 2
M 8
U 4
V 2
E 4
N 3
S 1
W 7

o codigo é

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Gustavo
 */
import java.util.Scanner;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Caixas {

    public static void main(String[] args) throws FileNotFoundException{
        int tam_caixa;
        int i=0, j = 0;
        Scanner in = new Scanner(System.in);
        System.out.println("Entre com o tamanho da caixa");
        tam_caixa = Integer.parseInt(in.nextLine());
        int [] id = new int[tam_caixa];
        String [] cx = new String[tam_caixa];

        FileReader fl = new FileReader("C:\\temp\\objetos.txt");
        BufferedReader on = new BufferedReader(fl);
        String s;
        try {
            while ((s = on.readLine()) != null) {
                 
                String resul[] =  s.split(" ");
                cx[i]= resul[0];
                id[j] = Integer.valueOf((resul[1]));
               i++;j++;
                
                
            }
            for(int l =0; l<=tam_caixa; l++){
            System.out.println(id[l]+" "+ cx[l]);}
        } catch (IOException ex) {
            Logger.getLogger(Caixas.class.getName()).log(Level.SEVERE, null, ex);
        }





    }

}

6 Respostas

Roselito_Favero_da_S

Tente mudar o split para

split("\ ")

ou seja, com uma barra invertida antes do espaço.

Gustavo_D_Martins

Não é isso não, porque se tiro o vetor e coloca só pra imprimir os valores ele consegue ler…apenas se for pra popular o vetor que da erro

Roselito_Favero_da_S

Na verdade, me enganei. O split só separa espaços usando a expressão

split("\\s+")

Mas qual parte do seu código que está populando o vetor? Não é o trecho com o split, não?

Gustavo_D_Martins

Sim… depois do split eu coloco o valor do campo resul no vetor… dessa forma não dá certo

Roselito_Favero_da_S

E logo depois do split você imprimiu resul[0] e resul[1] pra ver se ele está fazendo certo?

Gustavo_D_Martins

Isso… Um pegaria o valor inteiro e o outro a string pois cada um tem um tipo diferente…
Ali já separo

Criado 7 de outubro de 2013
Ultima resposta 8 de out. de 2013
Respostas 6
Participantes 2