I am running a program that requires random access to a very large file (approximately 151 gigabytes). I found that whenever it runs on one of the MacPro machines in the Orchard lab (for details see http://inst.eecs.berkeley.edu/cgi-bin/clients.cgi?choice=6a&string= ) a certain part of the file and is issued with an error from the file system:
java.io.IOException: Invalid argument at java.io.RandomAccessFile.readBytes(Native Method) at java.io.RandomAccessFile.read(RandomAccessFile.java:322)
I just use the RandomAccessFile class.
RandomAccessFile fd; //...Initialized and already used fd with //no problems for larger locations as well //location == 155587178230 //numBytes == 15492560 //off == 0 //arr.length == 15492560 fd.seek(location); fd.read(arr, off, numBytes);
This happens in the same place for the same exact range of bytes every time, regardless of which Orchard lab computer I use.
I tested this code on DELL computers running Debian Linux and did not have this problem.
java file-io large-files random-access macos
dspyz
source share