DataInputStream, RandomAccessFile og buffer-indlæsning
Jeg ønsker at indlæse nogle data fra en fil, som indeholder tekst og tal (herunder såvel int's som double's) i et fast format. Filen er en binær fil.Læsning kan foretages med DataInputStream, f.eks.:
DataInputStream dis=new DataInputStream(new FileInputStream("fil.dat"));
Ved at indskyde BufferedInputStream går det betragteligt hurtigere:
DataInputStream dis=new DataInputStream(new BuferedInputStream(new FileInputStream("fil.dat")));
Er dette i øvrigt den "rigtige" måde at skrue indlæsningen sammen på - det virker noget tungt at se på.
Ønsker jeg nu at læse fra et vilkårligt sted i filen, kan jeg bruge RandomAccessFile, f.eks.:
RandomAccessFile raf=new RandomAccessFile("fil.dat","r");
Mit spm. er nu: Kan RandomAccessFile kombineres med buffer-indlæsning?
Jeg er klar over, at ideen med RandomAccessFile netop er at læse vilkårligt fra filen, hvorfor indlæsning i en buffer måske ikke umiddelbart er oplagt. På den anden siden kan der være situationer, hvor man godt nok skal læse fra et vilkårligt sted men dog alligevel skal læse en stor mængde data ind netop derfra.
