Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- 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 ^^



Tagged:

Comments

Sign In or Register to comment.