2013-02-27 10 views
6

に転送すると、次のBufferedReaderが入力を直接byte []に​​入れることができますか?BufferedReaderを直接byte []

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); 
      } 
    ... 

thats読者の一部です、plsは見ています。

私はbtrarに直接入力をしたい、

答えて

20

は私の次BufferedReaderのは、バイト[]に直接入力を置くことができる任意の可能性はありますか?どれReader

はあなたが文字、ないバイトを読み聞かせするように設計されています。バイナリデータを読み取るには、InputStream - BufferedInputStreamを使用してバッファリングしてください。

それはあなたが何をしようとして、実際に明確ではないのですが、あなたのようなものを使用することができますので、その間違った取り扱いを

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

を? – Ekonion

+2

@Ekonion:はい、バイナリデータが間違っている場合は 'Reader'を使います。 –

+0

ah ^^ thx、私は試してみます:D – Ekonion