|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 309
|
[Java] accesso casuale su file
Qual'è il modo più efficiente per accedere un dato da un milione di elementi di tipo float. In genere li devo caricare in memoria tutti, a volte devo accedere solo a singoli elementi.
Dato per scontato l'accesso bufferizzato, credo che leggere un elemento per volta non sia il massimo. Forse sarebbe meglio leggere i dati in un buffer di byte, solo che poi non so come convertirli in un array di float. Ultima modifica di Cait Sith : 07-03-2008 alle 21:26. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Allora potresti usare RandomAccessFile, che ha readFloat() e seek(). E nota che per questioni di indipendenza dalla piattaforma, la lettura/scrittura di tipi composti di più byte è fatta solo in formato big-endian.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 309
|
mhm, in realtà mi è sorto un dubbio, a me servirebbe utilizzare il sistema degli stream perchè vorrei comprimere i dati con gli zipStream, però ho bisogno anche dell'accesso casuale (utilizzando gli indici sul dato già decompresso) e non so se le due cose sono compatibili
![]() il fatto è che dovrei utilizzare queste classi da matlab per poter avere un accesso casuale su dati compressi, il matlab infatti salva i dati nel suo formato e li comprime, ma poi li devi caricare tutti in una volta (cosa proibitiva), se invece uso fwrite e fread non posso comprimere i dati e mi vengono fuori dei file da 3 GB l'uno ![]() se non dovesse esserci la soluzione dovrò per forza creare un file da 3 GB, zipparlo in un secondo file (che dovrebbe venire da 200 MB) e poi cancellare il primo. nell'accesso dovrei invece fare il contrario, però così credo che rallenti molto il programma principale ![]() Ultima modifica di Cait Sith : 07-03-2008 alle 22:46. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non credo che ci sia modo di lavorare direttamente sui dati compressi, non è detto che l'informazione di un dato compresso stia in una sola locazione, può darsi che l'informazione sia "spalmata" su molti dati precedenti.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:45.