2015-07-21 4 views
1

J'ai été vraiment confus à ce sujet, et j'ai essayé de le résoudre depuis environ 4 heures. Mais maintenant j'abandonne. J'essaie d'écrire des octets dans un fichier. Appelons-le test.bin. Si j'utilise ma PrintWriter et neTraitement PrintWriter ne fonctionne pas correctement

pw.write(0xff); 

ou

pw.write((char)0xff); 

ou

pw.write((byte)0xff); 

Et je regarde le fichier dans un éditeur hexadécimal, Aucun d'entre eux fait écrire 0xFF. Ils écrivent 0xC3BF. Si je fais pw.write(0x00); alors il écrit réellement 0x00. Je suppose que c'est parce qu'il est signé? Si oui, comment puis-je contourner cela? Tout ce que je veux faire est d'écrire 0xFF dans un fichier :(

+1

double possible [Problème d'écriture 0xFF fichier ] (http://stackoverflow.com/questions/3908259/problem-writing-0xff-to-file) – ganeshvjy

+2

Vous écrivez en encodage UTF8 0xFF en UTF8 est 0xC3BF Utilisez Outputstream au lieu de Printwriter et il travaillera –

+0

dans les réponses –

Répondre

3

Vous écrivez en UTF8. 0xFF en UTF8 est 0xC3BF. Utiliser fluxSortie au lieu de PrintWriter et itll travail