Ik ben nog steeds met mijn puzzel bezig...
Ik schrijf boolean[] naar disk, maar vorm ze eerst om naar bits (byte), die door omzetting naar char[] in een StringBuffer kunnen worden gedumpt.
Dit werkt super.
Maar nu wil ik de StringBuffer tijdelijk op schijf zetten en daarna weer teruglezen.
Dus:
input:
byte bijt, bijt2, bijt3, bijt4;
bijt1 = 58
bijt2 = 216
bijt3 = 0
bijt4 = 0
Dit worden dan chars, namelijk:
58, -40, 0 en 0.
Maar als ik dit in een StringBuffer prop en deze op disk zet met een FileWriter (write(char[]) of write(StringBuffer.toString()).
En daarna lees ik ze terug met een FileReader
read(int).
Dan krijg ik dus de volgende cijfers terug:
58, 63, 0, 0.
Waarom is mijn -40 (oorspronkelijk 216 = 11011000) nu ineens 63 geworden (00111111).
Want nu is mijn oorspronkelijk array
11011000 verandert in
00111111
Hoe kan dit ????
Ik schrijf boolean[] naar disk, maar vorm ze eerst om naar bits (byte), die door omzetting naar char[] in een StringBuffer kunnen worden gedumpt.
Dit werkt super.
Maar nu wil ik de StringBuffer tijdelijk op schijf zetten en daarna weer teruglezen.
Dus:
input:
byte bijt, bijt2, bijt3, bijt4;
bijt1 = 58
bijt2 = 216
bijt3 = 0
bijt4 = 0
Dit worden dan chars, namelijk:
58, -40, 0 en 0.
Maar als ik dit in een StringBuffer prop en deze op disk zet met een FileWriter (write(char[]) of write(StringBuffer.toString()).
En daarna lees ik ze terug met een FileReader
read(int).
Dan krijg ik dus de volgende cijfers terug:
58, 63, 0, 0.
Waarom is mijn -40 (oorspronkelijk 216 = 11011000) nu ineens 63 geworden (00111111).
Want nu is mijn oorspronkelijk array
11011000 verandert in
00111111
Hoe kan dit ????
Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD
