java.io. RandomAccessFile Недопустимый аргумент для больших файлов на Mac

, я запускаю программу, которая требует произвольного доступа к очень большому файлу (примерно 151 гигабайт). Я обнаружил, что всякий раз, когда он запускается на одной из машин MacPro в лаборатории Orchard (подробности на http://inst.eecs.berkeley.edu/cgi-bin/clients.cgi?choice=6a&string= ]), программа пытается прочитать определенную часть файла и вылетает с ошибкой из файловой системы:

java.io.IOException: Invalid argument
    at java.io.RandomAccessFile.readBytes(Native Method)
    at java.io.RandomAccessFile.read(RandomAccessFile.java:322)

Я просто использую класс RandomAccessFile.

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);

Это происходит в одном и том же месте для одного и того же точного диапазона байтов каждый раз, независимо от того, какой из лабораторных компьютеров Orchard я использую.

Я тестировал этот код на компьютерах DELL под управлением Debian Linux, и у меня не было этой проблемы .

6
задан skaffman 5 December 2010 в 20:08
поделиться