2013-02-25 3 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; 
} 

я хочу, чтобы преобразовать строку nachricht в Byte [] in, но я не получаю его. Может ли кто-нибудь помочь PLS? Я просто получаю номера, никаких слов или писем. Еще один прием приветствуется. Все, что я получаю в System.out.println(nachricht), - это семь раз [[email protected], но я должен получить 01 02 03 04 05 06 07.возникают проблемы преобразования из строки в байт []

+1

Вы не должны использовать имена переменных с разных языков в одном проекте; быть последовательным, что сделает ваш код более легким для чтения. –

+0

thx G.Bach, я сделаю так – Ekonion

ответ

2

Ваша проблема линия System.out.println(in)

Это должно быть System.out.println(in[counter]);

+0

omg ... embarassing ^^ thx alot примет через 11 минут – Ekonion

3

Это

[[email protected] 

указывает вы печатаете массив ([) байт (B).

Java-массивы не имеют полезной реализации toString(). Вышеизложенное полезно понять, так как вы сделаете то же самое в будущем. Очевидные мнемоники существуют для других примитивных типов.

+0

Полезно знать, thx – Ekonion

 Смежные вопросы

  • Нет связанных вопросов^_^