Integer in File mit Filewriter schreiben - geht nicht richtig

oekonomy

Mitglied
einfachstes Programmieren mit schweren Problemen - denke ich 😳

ich möchte eine Integerzahl in ein File schreiben - Test (alle Werte von 0..255) geht vielleicht so:

for(int j=0; j <= 255; j++){
write.write( j );
}

Jedoch werden scheinbar nur lesbare Zeichen geschrieben? - so sieht der Inhalt der Datei aus:
00 01 ... 7F 3F 3F ...

also ab 0x7F geht nix mehr richtig. Hat dafür jemand eine Erklärung?
 
Zuletzt bearbeitet:
Zeig mal deinen ganzen Code, ich versteh nicht so ganz, was du machst. Wie kommen die Hexadezimalzahlen in deine Datei? :autsch:
 
Ich schau mir das ganze mit einem Hex Editor an, da ich auch die Hexwerte brauche.

Ich will eine *.bmp Datei selber erstellen lassen. Jeden Bildpunkt dann eine HexZahl zuordnen...

public void bildZeileErstellen( ){
try{
FileWriter write = new FileWriter( "00A.bmp" );

for(int j=0; j <= 255; j++){
write.write( j );
}
write.close();
}catch(IOException ex){
ex.printStackTrace();
}
}

Hier mal der Dateiinhalt:

000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526
2728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D
4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374
75767778797A7B7C7D7E7F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3
F3F3F3F3F
FFADBD9CCFBEDDF5F9B8A6AEAAF0A9EEF8F1FDFCEFE6F4FAF7FBA7AFACABF3A8B
7B5B6C78E8F9280D490D2D3DED6D7D8D1A5E3E0E2E5999E9DEBE9EA9AEDE8E185A083C68486918
78A8288898DA18C8BD0A495A293E494F69B97A39681ECE79800
 
Zuletzt bearbeitet:
Java:
//...
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("filename")));
//...
out.writeByte(j);   // 1 B output
//oder:
out.writeShort(j);  // 2 B output
//oder:
out.writeInt(j);  // 4 B output

Gruß Attila
 
DAnke für die Tipps!

es geht auch:

:toll:

[DUKE]FileOutputStream mein = new FileOutputStream( "00A.bmp" );

for(int j=-10; j <= 256; j++){
mein.write( j );
}
mein.close();[/DUKE]
 

Zurück
Oben