Converter tipo file para int[]

Olá Galera. Como eu faço para converter um arquivo:

File arquivoOrigem = new File("/home/erick/Downloads/eee.txt");
para Int[] dadosDeEntrada;

?

Tem que dar um cast.
(Integer)BLABLABLA;
Ou:
Integer.ParseInt
Até mesmo:
(BLABLABLA).intValue();

nao entendi. O que significa BLABLABLA???

alguem me explica direito como converter? eu quero que os dados de um arquivo de texto .txt vao para um vetor.

“BLABLABLA” seria a variável com a qual você quer dar cast.
Um exemplo de conversão explícita:

Animal animal = (Animal)new Dog(); 

Era do tipo “dog” porém ele converteu para ‘animal’ dando um cast.

Como está organizado esse arquivo?

Se for uma série de números, separadas por espaço ou quebra de linha, por exemplo:
12354 19821 1029012 1019293 1121092
12091 12929 12091 12929 12091 12929

Poderia ser assim:

File file = new File("eee.txt"); try (Scanner scan = new Scanner(file)) { List<Integer> numeros = new ArrayList<>(); while (scan.hasNextLine()) { String linha = scan.nextLine(); //Lê uma linha do arquivo String strNumeros[] = linha.split(" "); //Separa nos números entre espaços for (String strNumero : strNumero) { try { //Converte a String do número em inteiro e grava na lista numeros.add(Integer.parseInt(strNumero)); } catch (NumberFormatException e) { System.out.println("Não é um número:" + strNumero); } } } }

Ainda está dando erro. Vejam:

[code]public static void verDados() throws IOException
{
File arquivoOrigem = new File("/home/erick/Downloads/teste.txt");
File arquivoDestino = new File("/home/erick/Downloads/lista_ordenada.txt");

    FileReader Entrada = new FileReader(arquivoOrigem);
    FileWriter Saida = new FileWriter(arquivoDestino);
    
    System.out.println(Entrada);
    ///////////
        File file = new File("eee.txt");
try (Scanner scan = new Scanner(file))
{
    List<Integer> numeros = new ArrayList<>();
    while (scan.hasNextLine())
    {
        String linha = scan.nextLine(); //Lê uma linha do arquivo
        String strNumeros[] = linha.split(" "); //Separa nos números entre espaços
        for (String strNumero : strNumero)
        {
            try
        {
                //Converte a String do número em inteiro e grava na lista
                numeros.add(Integer.parseInt(strNumero));
            } catch (NumberFormatException e)
            {
                System.out.println("Não é um número:" + strNumero);
            }
        }
    }
    ///////////
}[/code]

Desculpe, minha bola de cristal está no conserto.

Portanto, seria mais fácil se você disser:

  1. Qual erro;
  2. Em que linha.

Uma coisa, remova o FileReader e o FileWriter do seu código. Eles não são necessários.
O FileReader causa um problema adicional: O Scanner também lê o arquivo. Dessa forma, as duas classes não poderão ter o arquivo aberto ao mesmo tempo.

O ideal também é que seu método retorne um List e você faça um return em numeros no final.

Está dando erro na linha numero 19. Aparece assim
imcompatible types.
Required: Java.Lang.String
Found: Java.Lang.Integer
: for (String strNumero : numeros)

Erick-kun, você poderia, por obséquio, pegar só um pedacinho do arquivo do arquivo .txt, e postá-lo aqui?

[quote=Erick Ribeiro]Está dando erro na linha numero 19. Aparece assim
imcompatible types.
Required: Java.Lang.String
Found: Java.Lang.Integer
: for (String strNumero : numeros) [/quote]
Puts aí lascou, se quiser que a galera resolva até isso, complica brother!

O que eu faço entao Fábio? Eu estou tentando a mais de uma semana fazer algo muitro simples para o trabalho da faculdade mas nao estou conseguindo.

Eu tenho um arquivo de texto com alguns numeros e quero imprimi-los na tela.
E tambem quero passar esses dados para uma variável Array[]

Nao pensei que isso fosse tao dificil assim. Eu sou novato em java, estudo ha apenas 6 meses e ja me pediram 2 exercicios desses com arquivos externos, mas eu nao consigo nunca fazer.

[quote=Erick Ribeiro]O que eu faço entao Fábio? Eu estou tentando a mais de uma semana fazer algo muitro simples para o trabalho da faculdade mas nao estou conseguindo.

Eu tenho um arquivo de texto com alguns numeros e quero imprimi-los na tela.
E tambem quero passar esses dados para uma variável Array[]

Nao pensei que isso fosse tao dificil assim. Eu sou novato em java, estudo ha apenas 6 meses e ja me pediram 2 exercicios desses com arquivos externos, mas eu nao consigo nunca fazer.[/quote]
Ok, calma garoto e peço desculpas. O problema é aí no código é a incompatibilidade de objetos. Dentro do for não vai ser possível passar por cada interação de uma classe do tipo string para uma do tipo inteiros, entendeu :?:
A resolução está bem aí, tenta com calma vê-la

Aqui está o coneudo do arquivo de texto:

8
7
2
1
4
3
9
6
5
0

Hum, é bem simples, na verdade. O seu único problema, eu acredito, é como converter um ArrayList para um int[].

Crie um método como este aqui:

public static int[] converteListaEmArray (List<Integer> lista) {
    int[] retorno = new int[lista.size()];
    for (int i = 0; i < lista.size(); ++i) {
        retorno[i] = lista.get(i);
    }
    return retorno;
}

A seguir, leia os números usando alguma coisa (por exemplo, um java.util.Scanner que encapsula um java.io.FileReader) e os insira em um ArrayList.
Depois de ter feito isso, você converte o ArrayList em um int[] usando o método converteListaEmArray (como eu digo pela ducentésima quinquagésima sétima vez, casts não funcionam para fazer essa conversão - casts não fazem conversões em Java, exceto de primitivos para primitivos. )

OK?

Já corrigi o código ali em cima. Você realmente não sabia como corrigi-lo? O conceito todo estava lá.
É bom tentar entender o que o povo posta no GUJ, ao invés de só copiar e colar cegamente. Muitos aqui não irão abrir a IDE e compilar uma versão funcional de programa para você.

Embora, se você tem um número por linha, não precisa do split. O código fica mais simples, veja:

private int[] lerDados() { try (Scanner scan = new Scanner(new File("eee.txt"))) { List&lt;Integer&gt; numeros = new ArrayList&lt;&gt;(); while (scan.hasNextLine()) { String linha = scan.nextLine().trim(); //Lê uma linha do arquivo try { //Converte a String do número em inteiro e grava na lista numeros.add(Integer.parseInt(linha)); } catch (NumberFormatException e) { System.out.println(&quot;Não é um número:&quot; + strNumero); } } } return converteListaEmArray(numeros); //Método do entanglement }