2013-02-25 4 views
2
public static Runnable reader() throws IOException { 
    Log.e("Communication", "reader"); 
    din = new DataInputStream(sock.getInputStream()); 
    brdr = new BufferedReader(new InputStreamReader(din), 300); 
    boolean done = false; 
    while (!done) { 
     try { 
      char[] buffer = new char[200]; 
      int anzahlZeichen = brdr.read(buffer, 0, 200); 
      String nachricht = new String(buffer, 0, anzahlZeichen); 
      byte[] in = nachricht.getBytes("ISO-8859-1"); 
      for (int counter = 0; counter < nachricht.length(); counter++) { 
       System.out.println(in); 
      } 
      if (nachricht != null) 
       answer(); 
      System.out.println(nachricht); 

     } catch (IOException ioe) { 
      done = true; 
     } 
    } 

    return null; 
} 

je veux convertir la chaîne nachricht à l'octet [] in mais je ne l'obtenir. Quelqu'un pourrait-il aider les pls? Je reçois juste des nombres, pas de mots ni de lettres. Une autre méthode est la bienvenue, aussi. Tout ce que je reçois à System.out.println(nachricht) est sept fois [[email protected] mais je devrais obtenir 01 02 03 04 05 06 07.ayant du mal à convertir de chaîne en byte []

+1

Vous ne devez pas utiliser de noms de variables de langues différentes dans le même projet; soyez cohérent, cela rendra votre code plus facile à lire. –

+0

thx G.Bach, je le ferai – Ekonion

Répondre

2

Votre problème est la ligne System.out.println(in)

Il devrait être System.out.println(in[counter]);

+0

omg ... embarrassant ^^ thx beaucoup acceptera en 11 minutes – Ekonion

3

Ce

[[email protected] 

indique que vous imprimez un tableau ([) d'octets (B).

Les baies Java n'ont pas une implémentation toString() utile. Ce qui précède est utile à comprendre puisque vous ferez de même dans le futur. Des mnémoniques évidentes existent pour d'autres types primitifs.

+0

bon à savoir, merci – Ekonion

Questions connexes