title: Reading a .dat file into an array in Java
body: <p>The code that I'm writing has two classes: writeInts and readInts. I wrote writeInts to randomly generate 100 numbers between 0 and 1000 and output them to a data.dat file.</p>
  
  <p>readInts is supposed to open a DataInputStream object and read in the "raw" data from the data.dat file and store the 100 integers in an array. My problem is that I can't seem to read the data correctly. Any help with this would be greatly appreciated. Thanks!</p>
  
  <p>writeInts:</p>
  
  <pre><code>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&lt;100; i++) {
              output.writeInt(num);
              counts[i] += num;
  
              System.out.println(num);
          }
          output.close();
      }
  
  }
  </code></pre>
  
  <p>readInts:</p>
  
  <pre><code>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();
          }
  
      }
  
  }
  </code></pre>