Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

JAVA Baca File > 10GB

salam kenal master2 java...

sebelumnya saya sudah menggunakan FileChannel with MappedByteBuffer, cepat dan handal (tidak pernah ada error saat baca) TAPI hanya bisa baca file maksimal Integer.MAX_VALUE ( 2147483647 atau 2^32-1 atau 2,1GB). bagaimana caranya supaya bisa baca file berukuran besar (lebih dari 2,1GB)...?

biasanya saya menggunakan code ini...
FileInputStream f = new FileInputStream( name );
FileChannel ch = f.getChannel( );
MappedByteBuffer mb = ch.map( ch.MapMode.READ_ONLY, 0L, ch.size() );
byte[] barray = new byte[SIZE];
long checkSum = 0L;
int nGet;
while( mb.hasRemaining() ) {
nGet = Math.min( mb.remaining( ), SIZE );
mb.get( barray, 0, nGet );
for ( int i=0; i<nGet; i++ )
checkSum += barray[i];
}
kalau ukuran ch.size() >> Integer.MAX_VALUE, Exception in thread "Thread-4" java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE
padahal itu properties nya bisa diisi nilai long

mohon clue, masukan dari suhu2 sekalian ^^



Tanggapan

Sign In or Register to comment.