2013-02-27 20 views
6

czy jest jakaś możliwość, że mój następny BufferedReader jest w stanie umieścić dane wejściowe bezpośrednio w bajcie []?BufferedReader bezpośrednio do bajtu []

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 length = brdr.read(buffer, 0, 200); 
      String message = new String(buffer, 0, length); 
      btrar = message.getBytes("ISO-8859-1");      
      int i=0; 
      for (int counter = 0; counter < message.length(); counter++) { 
       i++; 
       System.out.println(btrar[counter] + " = " + " btrar " + i); 
      } 
    ... 

to część czytnika, pls mają wygląd.

Chcę wejście bezpośrednio do btrar,

Odpowiedz

20

jest jakaś możliwość moja następujące BufferedReader jest w stanie umieścić wejście bezpośrednio do byte []?

Wszelkie Reader jest zaprojektowany, aby umożliwić zapoznanie znaki, a nie bajtów. Aby odczytać dane binarne, po prostu użyj InputStream - używając BufferedInputStream do buforowania, jeśli chcesz.

To naprawdę nie jest jasne, co starasz się zrobić, ale można użyć czegoś takiego:

BufferedInputStream input = new BufferedInputStream(sock.getInputStream()); 
while (!done) { 
    // TODO: Rename btrar to something more meaningful 
    int bytesRead = input.read(btrar); 
    // Do something with the data... 
} 
+0

więc jego złego obchodzenia? – Ekonion

+2

@Ekonion: Tak, używając 'Reader', gdy chcesz, aby dane binarne były nieprawidłowe. –

+0

ah ^^ thx, spróbuję: D – Ekonion