Avatar billede kentora Nybegynder
18. april 2012 - 20:07 Der er 4 kommentarer og
1 løsning

Byte array to char array giver '?' [PNG Fil]

Hejsa Eksperten.

Jeg sidder og leger med at åbne en png fil, som tekst i java. Jeg har dog det problem at den skal sendes via en socket (hermed printwriter), og derfor skal de bytes jeg læser laves om til chars. Blandt andet ved det første tegn '%', som har byte værdi -119, får jeg et '?' i min char.

Hvad skal jeg gøre for at undgå dette?
Avatar billede arne_v Ekspert
18. april 2012 - 20:16 #1
En PNG fil er en binaer fil ikke en tekst fil.

At aabne den som tekst og sende chars over en socket er fordkert design.

Aaben den binaert og send den som bytes over socket.
Avatar billede kentora Nybegynder
18. april 2012 - 20:27 #2
Det var også umiddelbart min tanke. Men nu har jeg ændret så jeg bruger OutputStream i stedet for PrintWriter (Dette fik jeg fra en guide på nettet).

Nu kan jeg bare ikke få min modtager kode til at virke, da den læser en hel linje af gangen. Hvordan kan jeg få dette til at virke?
Avatar billede arne_v Ekspert
18. april 2012 - 20:52 #3
Hos modtager skal der ogsaa laeses byte array uden linier.

InputStream read i Java.
Avatar billede kentora Nybegynder
18. april 2012 - 22:01 #4
Jeg har nu fundet en løsning. Det var tidligere i min modtager kode, jeg læste en linje. Jeg kunne dog bare skrive \n til en byte og sende den med.

Mange tak for hjælpen arne. Læg venligst et svar :)
Avatar billede arne_v Ekspert
19. april 2012 - 01:22 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester