/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Seek i FileOutputStream
Fra : Niels Andersen


Dato : 08-03-03 23:19

Når man skal skrive noget binært data i en fil, hvordan bestemmer man så
hvor i filen (byte-position) man skriver?


Den lange udgave:

Jeg skal skrive noget binært data til en lokal fil på harddisken. Filen
eksisterer muligvis i forvejen.

Men det er ikke nødvendigvis "fra ende til anden" jeg skal skrive. Der kan
fx. være 10 megabyte data, hvor jeg skal overskrive fra byte 1.000.000 til
byte 1.500.000.

Når jeg kigger i dokumentationen til FileOutputStream ser det ud til at jeg
kun kan skrive fra starten af.

Med så lille en fil kunne man måske bare bruge FileInputStream til at læse
fra en ende af, og så løbende skrive tilbage igen, og blot erstatte den
mængde data der skal erstattes i denne data-strøm.

Men det synes jeg lyder upraktisk. Desuden skulle mit program også fungere
selv om filen måske er på en gigabyte, og det kun er 2 bytes der skal
ændres.

--
Mvh.
Niels Andersen

 
 
Niels Andersen (09-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 09-03-03 00:05

Niels Andersen wrote in <1592735.QFxYIbbN13@home.myplace.dk>:
> Når man skal skrive noget binært data i en fil, hvordan bestemmer man så
> hvor i filen (byte-position) man skriver?

Ah, jeg skulle have Googlet lidt mere... :)

RandomAccessFile i stedet for FileOutputStream ser ud til at løse problemet,
samt det næste problem jeg nok ville løbe ind i.

--
Mvh.
Niels Andersen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408903
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste