La lecture d'un .dat fichier dans un tableau en Java

Le code que j'ai écris a deux classes: writeInts et readInts. J'ai écrit writeInts à générer de façon aléatoire de 100 nombres entre 0 et 1000 et de sortie à un ensemble de données.dat fichier.

readInts est censé ouvrir un DataInputStream objet et lire les données "brutes" à partir des données.dat fichier et stocker les 100 entiers dans un tableau. Mon problème est que je n'arrive pas à lire correctement les données. Toute aide à ce serait grandement apprécié. Merci!

writeInts:

import java.io.*;


public class WriteInts {
    public static void main(String[] args) throws IOException {
        DataOutputStream output = new DataOutputStream(new FileOutputStream("data.dat"));
        int num = 0 + (int)(Math.random());
        int[] counts = new int[100];
        for(int i=0; i<100; i++) {
            output.writeInt(num);
            counts[i] += num;

            System.out.println(num);
        }
        output.close();
    }

}

readInts:

import java.io.*;
import java.util.*;

public class ReadInts {
    public static void main(String[] args) throws IOException {

        //call the file to read
        Scanner scanner = new Scanner(new File("data.dat"));
        int[] data = new int[100];
        int i = 0;
        while (scanner.hasNextInt()) {
            data[i++] = scanner.nextInt();

            System.out.println(data[i]);

            scanner.close();
        }

    }

}
  • My problem is that I can't seem to read the data correctly Ce qui se passe?
  • Vous navez pas fournir ReadInt classe qui est problématique. Comment nous sommes censés pour vous aider ?
  • writeInt() enregistre 4 octets dans le fichier de sortie. Lisez-vous en ASCII ou binaire?
  • Désolé, ajouté. Je suis en train de lire en binaire.
  • Vous semblez être écrit même numéro..num n'est jamais mis à jour
  • Comment est-il jamais mis à jour?
  • int [] compte n'a pas de but dans cet exemple

InformationsquelleAutor Ben | 2014-04-17