Java Reference
In-Depth Information
try(BufferedInputStream fileIn =
new
BufferedInputStream(Files.newInputStream(file))){
int numberRead = 0;
while(true) {
numberRead = fileIn.read(bytes, 0, bytes.length);
if(numberRead == -1)
// EOF reached
break;
totalRead += numberRead/8;
// Increment total
for(int i = 0 ; i < numberRead/8 ; ++i) // Access as many as
there are
System.out.format("%12d", values.get());
System.out.println();
// New line
values.flip();
// Reset for next
input
}
System.out.format("%d values read.%n", totalRead);
} catch(IOException e) {
System.err.println("Error writing file: " + file);
e.printStackTrace();
}
}
}
StreamInputFromFile.java
I got the following output:
0 1 1 2
3 5
8 13 21 34 55
89
144 233 377 610 987
1597
2584 4181 6765 10946 17711
28657
46368 75025 121393 196418 317811
514229
832040 1346269 2178309 3524578 5702887
9227465
14930352 24157817 39088169 63245986 102334155
165580141
267914296 433494437 701408733 1134903170 1836311903
2971215073
4807526976 7778742049
50 values read.
It looks as though I got the same number of values back from the file as I wrote, which is very encour-
aging.
Search WWH ::




Custom Search